我有这个Django cron作业脚本(我正在使用kronos,这很棒)。
由于我每分钟都会触发此作业,因此我想确保没有其他脚本实例已经运行。如果以前的作业正在运行,那么我想跳过当前的执行。
我知道我可以使用锁定文件来执行此操作,但这不是非常可靠,并且在执行过程中重新启动时会导致问题(您必须清除锁定文件)等。
使用Python(在本例中为Django)的最佳方法是什么?
编辑:我的目标是Linux,很抱歉将其删除。
答案 0 :(得分:0)
这里有一个Django应用程序:https://github.com/jsocol/django-cronjobs
也可以点cronjobs
获得。
以防你直接去点;您可以使用装饰器注册作业,如下所示:
# myapp/cron.py
import cronjobs
@cronjobs.register
def periodic_task():
pass
然后通过以下命令运行命令:
$ ./manage.py cron periodic_task
默认情况下它具有作业锁定功能,但您可以在应用装饰器时禁用它:
@register(lock=False)