我使用的是django 1.10和django_cron包(0.5.0)。
该包默认情况下会在任务运行时锁定任务,因此它不会在其他服务器上运行。看起来像在我们的项目(托管在3台服务器上)-它每小时运行3次(这是时间表),我没有改变任何配置,因为我知道它应该锁定默认任务。
这就是任务:
class CreateMissingItems(CronJobBase):
RUN_EVERY_MINS = 60
schedule = Schedule(run_every_mins=RUN_EVERY_MINS)
code = 'CreateMissingItems' # a unique id
def do(self):
MyLog().info(message="Starting scheduled task of creating missing items")
call_command('create_missing_items')
crontab任务基本上每20分钟运行一次。我错过什么了吗?
1条答案
按热度按时间5jdjgkvh1#
您需要实现共享锁。该软件包提供了一个数据库共享锁,您可以通过在www.example.com中添加以下行来配置该settings.py: