因此,使用celery_task_result_expires可以控制任务结果的过期时间,以释放内存空间。 使用方法很简单。在任务定义中,将celery_task_result_expires设置为一个整数值,表示任务结果过期的秒数。 例如,以下任务定义将在1小时后过期任务结果: ```python @task(bind=True, name='my_task') def my_task(self, arg1, ...
result_serializer:任务执行结果序列化方式,支持的方式和任务序列化方式一致。 result_expires:任务结果的过期时间,单位是秒。 accept_content:指定任务接受的内容序列化类型(序列化),一个列表,比如:["msgpack", "binary", "json"]。 timezone:时区,默认是 UTC 时区。 enable_utc:是否开启 UTC 时区,默认为 True;...
如果不是跨语言的话,直接选择 binary 即可,默认是 json。 result_serializer:任务执行结果序列化方式,支持的方式和任务序列化方式一致。 result_expires:任务结果的过期时间,单位是秒。 accept_content:指定任务接受的内容序列化类型(序列化),一个列表,比如:["msgpack", "binary", "json"]。 timezone:时区,默认是...
result_serializer:任务执行结果序列化方式,支持的方式和任务序列化方式一致。 result_expires:任务结果的过期时间,单位是秒。 accept_content:指定任务接受的内容序列化类型(序列化),一个列表,比如:["msgpack", "binary", "json"]。 timezone:时区,默认是 UTC 时区。 enable_utc:是否开启 UTC 时区,默认为 True;...
CELERY_TASK_RESULT_EXPIRES = 60 * 60 * 24 CELERY_ACCEPT_CONTENT = ["msgpack"] CELERY_DEFAULT_QUEUE = "default" CELERY_QUEUES = { "default": { # 这是上面指定的默认队列 "exchange": "default", "exchange_type": "direct", "routing_key": "default" ...
CELERY_RESULT_SERIALIZER='json' # 结果过期时间 默认1天,单位秒 CELERY_TASK_RESULT_EXPIRES=60*60*24 # 指定任务接受的内容类型 Default: {'json'} (set, list, or tuple). CELERY_ACCEPT_CONTENT=['json'] # 设置时区 Default: "UTC". # CELERY_TIMEZONE = 'Asia/Shanghai' ...
CELERY_RESULT_SERIALIZER = 'msgpack' CELERY_TASK_RESULT_EXPIRES = 60 * 60 * 24 CELERY_ACCEPT_CONTENT = ["msgpack"] CELERY_DEFAULT_QUEUE = "default" CELERY_QUEUES = { "default": { # 这是上面指定的默认队列 "exchange": "default", ...
禁用结果存储: 如果不需要存储任务结果,可以通过设置task_ignore_result=True来禁用结果存储,从而减少 Redis 或数据库的负载。 app.conf.update( task_ignore_result=True, ) 结果过期时间: 如果需要存储任务结果,可以通过设置result_expires来自动清理过期的任务结果。
CELERY_RESULT_SERIALIZER = 'json' # 为任务设置超时时间,单位秒。超时即中止,执行下个任务。 CELERY_TASK_TIME_LIMIT = 5 # 为存储结果设置过期日期,默认1天过期。如果beat开启,Celery每天会自动清除。 # 设为0,存储结果永不过期 CELERY_RESULT_EXPIRES = xx ...
如果不想手动释放资源,可以在配置里设置一个过期时间,那么结果就会在指定时间段后被释放: app.conf.update(result_expires=60) 这个我们可以在后面的配置里再详细介绍。 以上就是本篇笔记全部内容,下一篇笔记我们将介绍如何建立一个 celery 项目、配置的几种方法及一些基本的配置。