Mono
候补名单

Mono 定时 AI 任务为什么没有运行?

通过一次受控手动测试,排查 Mono 任务未执行、本地时间变化、设备可用性、步骤失败和通知问题。

定时任务看起来停了的时候,先问三个问题:它开始了吗?它完成了吗?你收到通知了吗?不同的答案对应不同的解决办法。

Mono 任务在你的设备上运行,而不是在一直开着的服务器上,而且手机系统可能会暂停后台应用。本文帮你在不产生重复操作的前提下,找出某次运行缺失的原因。Mono 还没有正式推出,你可以加入候补名单。

1. 先看运行记录

打开“任务”,查看该任务的“历史运行”。确认时间、成功还是失败,以及每一步的结果。通知固然有用,但运行记录更能说明实际发生了什么。

运行成功却没有通知,是通知的问题。运行失败,是任务本身的问题。完全没有运行记录,就要检查计划、设备或设置。

只会保留最近的运行记录,清除历史会把它们全部删掉。所以,如果通知打开的运行记录已经不存在,并不代表任务从未运行。如果任务会修改其他服务里的内容,也去那里看看。在弄清发生了什么之前,不要反复点“运行”。

2. 确认频率与本地时间

确认任务已开启,且计划不是“手动”。Mono 提供每小时、每天、工作日和每周的计划。要看实际的时间和日期,不要只看任务名称。

任务按设备的时钟运行。旅行或调整时钟之后,把计划和设备当前的日期、时间、星期几对照一下。

测试时,在能让应用保持打开的时候,选一个几分钟后的时间。如果今天的计划时间已过才创建任务,它不会为那个已经过去的时间补跑。测试前记下计划时间,这样能分辨是运行晚了,还是计划本身不同。

3. 了解设备可用性与补跑边界

任务在 Mono 于设备上运行时执行。如果 Mono 还在等你完成设备设置或关联,请先完成。

如果设备关机或 Mono 关闭期间错过了任务,下次打开应用时会补跑一次。它不会把错过的每个整点都补上,所以离线好几个小时,并不意味着有好几次运行在排队。

在 iPhone 和 iPad 上,系统可能给 Mono 一点后台时间,用来完成已经开始的工作,但不会无限期地启动新任务。如果某件事必须在准确的时间运行,即使你所有设备都关着,请使用专门为此设计的服务。

4. 做一次受控手动测试

用少量输入或无害的目标,点一次“运行”。检查各个步骤,以及 Mono 之外产生的任何影响。这样无需等到下一次计划时间,就能测试任务。

观察结果 下一步检查
手动运行也失败 输入、账户登录、网络及失败步骤
手动成功,计划运行缺失 任务是否开启、计划、本地时间及设备可用性
运行成功,没有通知 Mono 任务通知设置及系统权限
输出出现两次 重试前先检查运行记录和目标服务

手动运行也算一次运行。如果你在今天的计划时间过后手动运行,Mono 会把今天这次视为已完成。请留意下一次计划时间,不要指望测试之后马上再运行一次。

5. 修复失败步骤后再重试

失败的运行同样算一次运行,所以在下一次计划时间之前,Mono 不会自动重试。根据步骤结果修复具体问题,然后有意识地再试一次。

比如,账户连接过期需要重新登录,改计划解决不了。输入可能为空时,要事先想好为空时怎么处理。需要联网的步骤,要求相应服务可以访问。

如果任务有多个步骤,一步失败不会让其他步骤停下,后面的失败也不会撤销前面已完成的步骤。重试一个可能会再创建内容的任务之前,先到目标服务里看看是否已经创建过。

6. 确认下一次计划执行的结果

手动测试成功后,让任务保持开启,并在应用可用的情况下观察下一次计划运行。把它的时间和输出与手动测试对比。

如果运行得太早或运行了两次,先关闭任务并检查目标服务,再重试。

需要帮助时,记下任务的计划、设备时区、应用当时是否打开、运行时间和失败步骤。去掉私人输入和密码。可以用可靠自动化指南简化不稳定的任务,或在重新安排之前先检查刚创建的任务。

作者

Reunified 打造能把分散的东西重新聚到一起的应用。

继续阅读

全部文章

即将推出

加入候补名单

留下你的邮箱,Mono 可以下载时我们会通知你。

你会在哪里使用 Mono?