Celery能否在10ms内提供任务结果?

时间:2014-06-23 15:43:03

标签: python performance rabbitmq celery low-latency

我正在尝试在芹菜上执行任务,然后在开销不到10毫秒的情况下阻止它的结果。

自包含示例(tasks.py):

from celery import Celery

app = Celery('tasks', broker='librabbitmq://guest@localhost//', backend='amqp')

@app.task
def add(x, y):
    return x + y

测试脚本:

from timeit import timeit
from tasks import add

def f():
    add.delay(2, 2).get()

timeit(f, number=100)

在我的i5 8GB ram debian linux机器上,每次请求运行大约40ms。

恕我直言,因为芹菜的后端依赖于轮询,所以不适合低延迟要求吗?

解决方案需要提供不到10毫秒的RTT开销,大约4台机器每秒添加一次任务,大约2名任务工作人员实际执行任务。

0 个答案:

没有答案