tl;dr
Celeryのドキュメントが間違っていた。
背景
DjangoでCeleryを使う際に、Result BackendにRedisを指定して動かしたとき、どうもresult_expiresの設定がうまくいかなかった。
やりたいこと
result_expiresを正しく設定する。
環境
- Celery 4.3.0
- Django 2.2.6
- Redis 5.0.1
やること
CELERY_TASK_RESULT_EXPIRES
ではなく CELERY_RESULT_EXPIRES
で設定する。
settings.py
# CELERY_TASK_RESULT_EXPIRES = 3600
CELERY_RESULT_EXPIRES = 3600
秒単位なので、これで期限を1時間に設定されます。
補足
PR投げるチャンスかと思いましたが、既に対応済みでした。
https://github.com/celery/celery/issues/5473
https://github.com/celery/celery/pull/5475
4.4.0リリース後に反映されるようで、現状(2019/10/09)のドキュメントは修正されていません。
というのもあって、この記事を書きました。