问题描述
我不确定我应该使用“celery”还是“rq”。
我正在寻找一个轻量级的解决方案,我的直觉告诉我导入 celery 会比导入 rq 慢得多。
但事实恰恰相反。至少在我的设备上:
> time python -c 'import rq'
real 0m0,115s
user 0m0,101s
sys 0m0,014s
> time python -c 'import celery'
real 0m0,035s
user 0m0,034s
sys 0m0,001s
我测量了几次 - 相同的结果。
我的偏见是错误的。为什么导入 rq 会慢三倍?
因为有人在评论中要求它:
time python -c 'import huey'
real 0m0,096s
user 0m0,083s
sys 0m0,014s
解决方法
粗略地说,它与 LocalStack
中 rq.local
的“免费”实例化有关。导入 celery 时没有创建类似的复杂线程安全对象。也就是说,当您为每个框架实际构建应用程序对象时,您可能会看到不同的时间。