Django-crontab 在一天后缺少哈希



我每天都在服务器中使用django-crontab运行一个函数。当我添加 cron 时python manage.py crontab add一切正常,我可以看到 crons 并且它们正常执行(我已经测试了它们每分钟运行一次,它们做我想做的事)。问题是第二天它总是抛出此错误:

RuntimeError: No job with hash bdd84e8eebbbbc48c5d39e0245c78c93 found. It
seems the crontab is out of sync with your settings.CRONJOBS. Run "python
manage.py crontab add" again to resolve this issue!`

我已经设置了CRONTAB_DJANGO_PROJECT_NAMECRONTAB_DJANGO_MANAGE_PATH,因为我有一个本地manage.py

似乎它以某种方式从一天到另一天丢失了哈希值。这是我的设置:

CRONJOBS = [
('0 7 * * 1-5', 'api.cron.email_to_late_docs', '>> {}'.format(BASE_DIR + '/logs/log_{:%d_%m_%Y}.log'.format(time.now()))),
('0 7 * * 1-5', 'api.cron.email_ten_days_before', '>> {}'.format(BASE_DIR + 'logs/log_{:%d_%m_%Y}.log'.format(time.now())))
]
CRONTAB_DJANGO_PROJECT_NAME = 'public_html'
CRONTAB_DJANGO_MANAGE_PATH = BASE_DIR + '/manage_local.py'

以前有人遇到过这个错误吗?

万一将来有人遇到这个问题,事实证明这是日志名称的问题。将日志名称更改为稳定名称解决了问题。

如果将来有人遇到这个问题,阿尔贝托的答案对我有用。此外,不要对日志文件使用相对路径。例如,"~/path/to/file"被翻译成类似"/home/user/path/to/file"的东西,这也改变了哈希。使用绝对路径

运行

python manage.py crontab run <your task>

例如python manage.py crontab run 2755b3a03042fdf7b9c8edbcaff737f6run python manage.py crontab remove

相关内容

  • 没有找到相关文章

最新更新