Python django cron不工作
在正确安装django_cron之后,我在django app中编写了以下名为cron.py的代码来调用django_cron来执行。但奇怪的是,这个脚本根本不起作用Python django cron不工作,python,django,django-cron,Python,Django,Django Cron,在正确安装django_cron之后,我在django app中编写了以下名为cron.py的代码来调用django_cron来执行。但奇怪的是,这个脚本根本不起作用 from django_cron import cronScheduler, Job from mysite.tds.models import machine_list,flavor_list,image_list from mysite.views import * import datetime,os class Chec
from django_cron import cronScheduler, Job
from mysite.tds.models import machine_list,flavor_list,image_list
from mysite.views import *
import datetime,os
class CheckExpire(Job):
run_every = 60
def job(self):
mac_list = machine_list.objects.filter(expire_date=datetime.date.today())
for lst in mac_list:
delete_vm(lst.servername)
nagios_delete(lst.servername,lst.machine_ip)
mac_list.delete()
cronScheduler.register(CheckExpire)
如果我在另一个脚本中编写并运行这个脚本,上面的代码可以成功执行,因此这些代码中没有错误
我发布了关于如何安装django cron的步骤,供大家检查我是否正确安装了它
提前谢谢。我猜您正在守护程序模式下运行mod_wsgi 第四步建议django cron在重新加载整个代码库时运行作业,当Apache重新加载时,mod_python或embedded mod_wsgi(嵌入式)会这样做,但mod_wsgi(守护进程)不会 更好的解决方案是将脚本添加到系统cron中
如果必须使用django cron,则需要在mod_wsgi的DaemonProcess配置上设置最大请求数,或者将其设置为运行embedded。出于性能和可靠性的考虑,我不能推荐这两种方法。您应该在数据库中检查以下内容: 1-同步数据库后,应出现表:“django_cron_cron”和“django_cron_job” 2-确保将django\u cron\u job.queued设置为1(如果cron作业崩溃,它将设置为0并且不再运行)
3-确保django\u cron\u cron.executing设置为0(否则cron认为此作业仍在运行)有时由于日志原因,它无法工作。如果设置中有django日志路径。Cron希望使用它