Pie*_*nes 5 python redis celery
根据其关于使用 Redis 后端时Celery轮询结果选项的文档interval,默认情况下使用 0.5 秒的间隔。
天真的开发人员可能会认为任何使用 Redis 的排队系统至少会尝试利用其 LIST 或 PUBSUB 机制。为什么 Celery 不这样做而是依靠轮询?
举个例子,当通过 Celery 工作线程运行时,以下调用正好花费0.5秒(这是默认的轮询间隔):r.get()
from celery import Celery
app = Celery('tasks', broker='redis://localhost:6379/0',
backend="redis://localhost:6379/0")
@app.task
def add(x, y):
return x + y
if __name__ == "__main__":
r = add.delay(5, 4)
result = r.get()
print(result)
Run Code Online (Sandbox Code Playgroud)
轮询是任何新结果存储的默认实现,因为它无需特定于后端的代码即可工作。使用 Redis PUB/SUB 是我们的愿望;代码还没有写好:https ://github.com/celery/celery/issues/799
| 归档时间: |
|
| 查看次数: |
2972 次 |
| 最近记录: |