我不知道result_expires
是如何工作的。
我读过,
result_expires
默认值:1天后过期。
删除存储的任务逻辑删除后的时间(以秒为单位,或时间增量对象(。
内置的周期性任务将在这段时间后删除结果(celener.backend_cleanup(,假设启用了celener-beat。该任务每天凌晨4点运行。
当使用数据库后端时,必须运行芹菜节拍才能使结果过期。
(从这里开始:http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-result_expires(
所以,为了让它发挥作用,我必须做这样的事情:
python -m celery -A myapp beat -l info --detach
这就是文档中所指的"芹菜节拍已启用"吗?或者,需要设置一些配置,而不是手动执行,这会导致自动调用celery beat
?
Re:芹菜节拍——你是对的。如果你使用数据库后端,你必须像你在原始帖子中发布的那样运行芹菜节拍。默认情况下,芹菜节拍设置一个每日任务,该任务将从结果数据库中删除较旧的结果。如果您使用的是redis结果后端,则不必运行芹菜节拍。你如何选择运行芹菜节拍取决于你个人,我们通过systemd来完成。
如果要将默认的过期时间配置为默认的1天以外的时间,可以使用芹菜中的result_expires
设置来设置记录结果后应删除的秒数。例如1800持续30分钟。