【发布时间】:2021-08-02 03:38:47
【问题描述】:
我已经使用 django_crontab 包在 django 中创建了一个计划作业。我已经添加了这份工作。它已成功添加,但只有在我运行 python manage.py crontab run daeea9e88c171494b1610bdebfasd123 时才会执行,而不是使用 runserver 命令。可能是什么问题,这是我的看法。
cron.py 文件
def my_scheduled_job():
file = open('geek.txt','w')
now = timezone.now()
file.write("This is the write command")
file.write("It allows us to write in a particular file")
file.write(str(now))
file.close()
print(now)
return True
settings.py
CRONTAB_LOCK_JOBS = False
CRONTAB_DJANGO_PROJECT_NAME = 'api'
CRONTAB_DJANGO_SETTINGS_MODULE = 'api.settings'
CRONJOBS = [
('*/1 * * * *', 'app.cron.my_scheduled_job')
]
我想要的是它的工作在我运行 python manage.py runserver 时每分钟执行一次。有什么遗漏的请帮帮我。
【问题讨论】:
-
您的意思是您没有看到打印件吗?我认为它不会显示在您所在的任何终端上。尝试检查文件是否每分钟更新一次
-
是的,我检查了文件,我正在为此保留一个文件。仅当我调用 python manage.py crontab run 时文件才会更新。不在 runserver 上。
-
无论你是否使用 runserver,它都应该每分钟运行一次,因为 cron 会为你运行它。只是为了确认一下,您使用的是什么操作系统?
-
我使用的是 Ubuntu 20.04。
-
你确实运行了
python manage.py crontab add对吗?尝试查看您的 cron 作业是否已添加到您的 crontab 中。检查this 如何。如果它在那里,即使没有runserver或crontab run,该作业也会每分钟运行一次
标签: python django django-cron django-crontab