一天后 django-crontab 缺少哈希

django-crontab missing hash after a day

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

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'

有人遇到过这个错误吗?

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

万一以后有人遇到这个问题,Alberto 的回答对我有用。另外,不要为日志文件使用相对路径。例如,“~/path/to/file”被翻译成类似“/home/user/path/to/file”的东西,这也会改变散列。使用绝对路径