为什么导入 `rq` 比导入 `celery` 慢得多?

问题描述

我不确定我应该使用“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

解决方法

粗略地说,它与 LocalStackrq.local 的“免费”实例化有关。导入 celery 时没有创建类似的复杂线程安全对象。也就是说,当您为每个框架实际构建应用程序对象时,您可能会看到不同的时间。