celery retry发送的队列

celery retry时,将发送到原有的队列,并在任务中加入执行的时间,以及当前重试的次数。

worker立刻读取该任务,同时记录一条【任务】到 unacked中,表示该任务在worker中还未执行。


eyJleHBpcmVzIjogbnVsbCwgInV0YyI6IGZhbHNlLCAiYXJncyI6IFsiMTIzNCJdLCAiY2hvcmQiOiBudWxsLCAiY2FsbGJhY2tzIjogbnVsbCwgImVycmJhY2tzIjogbnVsbCwgInRhc2tzZXQiOiBudWxsLCAiaWQiOiAiZmJlNjBlOGMtMTk1Yi00ZTI2LTg4ZTYtOTIwYzkzZjIyZDdlIiwgInJldHJpZXMiOiA4LCAidGFzayI6ICJ0YXNrcy5tYWluIiwgInRpbWVsaW1pdCI6IFtudWxsLCBudWxsXSwgImV0YSI6ICIyMDE5LTExLTE5VDE4OjU4OjU0LjQ2ODAwMCIsICJrd2FyZ3MiOiB7fX0=

{"expires": null, "utc": false, "args": ["1234"], "chord": null, "callbacks": null, "errbacks": null, "taskset": null, "id": "fbe60e8c-195b-4e26-88e6-920c93f22d7e", "retries": 8, "task": "tasks.main", "timelimit": [null, null], "eta": "2019-11-19T18:58:54.468000", "kwargs": {}}


发送的方式  apply_async(args=[data], eta=【执行时间】)

一次重试的过程会读写几次redis,传输的对象比较大。

重试的任务QPS稍微多,会用大量的网络流量——>DBA告警找你
posted @ 2019-11-19 19:07  huim  阅读(458)  评论(0编辑  收藏  举报