【发布时间】:2016-02-25 23:24:52
【问题描述】:
我有一个运行 Django 管理命令的定期 cron 作业。该命令与 ORM 交互,使用 sendmail 发送电子邮件,并使用 Twilio 发送 SMS。 cron 作业可能会开始重叠。换句话说,当下一个作业开始运行时,作业(运行此命令)可能仍在执行。这会导致任何问题吗? (我不想等到管理命令执行完毕后再用 cron 再次运行管理命令)。
编辑:
管理命令的开头获取命令运行时间的时间戳。至少,此时间戳需要准确。如果命令的其余部分不等待前一个 cron 作业完成运行,那就太好了,但这并不重要。
编辑 2:
cron 作业只从数据库中读取,不写入。应用程序必须在 cron 作业运行时继续工作。应用程序从数据库中读取和写入。
【问题讨论】:
-
你可以使用flock来达到这个目的。
标签: python django cron manage.py