You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

django-crontab定时任务无法自动执行,求排查问题原因

Django定时任务无法自动执行问题排查

环境与配置说明

我有一个Django项目,包含名为app的应用,该应用下有cron.py文件,里面定义了my_job()函数,希望它每分钟执行一次。

settings.py配置(路径:django-project/django-project/settings.py)

INSTALLED_APPS = [
    'django_crontab',
    ...
]

...

CRONJOBS = [
    ('*/5 * * * *', 'app.cron.my_job')
]

cron.py内容(路径:django-project/app/cron.py)

from .models import TestModel

def my_job():
    TestModel.objects.create(number=100)
    return True

已执行的操作

  • 执行命令:python3 manage.py crontab add,终端输出:
adding cronjob: (62dd7536ac2c985925ee33743a070a4c) -> ('*/5 * * * *', 'app.cron.my_job')
  • 执行命令:python3 manage.py crontab show,终端显示:
Project/ccc_nema -> ('*/5 * * * *', 'app.cron.my_job')
  • 尝试手动执行任务时,输入python3 manage.py crontab run someHash,报错:
Traceback (most recent call last):
  File "/home/anik/Workplace/Office Project/ccc_nema v2/core/manage.py", line 22, in <module>
    main()
  File "/home/anik/Workplace/Office Project/ccc_nema v2/core/manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/home/anik/Workplace/Office Project/ccc_nema v2/env_python/lib/python3.10/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
    utility.execute()
  File "/home/anik/Workplace/Office Project/ccc_nema v2/env_python/lib/python3.10/site-packages/django/core/management/__init__.py", line 440, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/anik/Workplace/Office Project/ccc_nema v2/env_python/lib/python3.10/site-packages/django/core/management/base.py", line 402, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/anik/Workplace/Office Project/ccc_nema v2/env_python/lib/python3.10/site-packages/django/core/management/base.py", line 448, in execute
    output = self.handle(*args, **options)
  File "/home/anik/Workplace/Office Project/ccc_nema v2/env_python/lib/python3.10/site-packages/django_crontab/management/commands/crontab.py", line 29, in handle
    Crontab().run_job(options['jobhash'])
  File "/home/anik/Workplace/Office Project/ccc_nema v2/env_python/lib/python3.10/site-packages/django_crontab/crontab.py", line 126, in run_job
    job = self.__get_job_by_hash(job_hash)
  File "/home/anik/Workplace/Office Project/ccc_nema v2/env_python/lib/python3.10/site-packages/django_crontab/crontab.py", line 171, in __get_job_by_hash
    raise RuntimeError(
RuntimeError: No job with hash someHash found. It seems the crontab is out of sync with your settings.CRONJOBS. Run "python manage.py crontab add" again to resolve this issue!

核心问题

无论等待多久,定时任务都无法自动执行,请问我哪里操作出错了?


内容的提问来源于stack exchange,提问作者Anik Saha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 09:27:43