运行事件池时,芹菜会自动修补猴子补丁吗?



这是来自邮件列表的交叉帖子,希望能得到更多的关注。(原帖)

使用运行celery worker -p eventlet时,Celery 会自动修补我的代码吗?

文档没有提到任何关于必须打补丁的事情,官方示例也没有做任何明确的打补丁(甚至 gevent 示例也没有做任何打补丁)。该示例暗示修补是自动完成的,但没有明确/明确的答案。

当你运行celery worker函数时,execute_from_commandline调用celery.__init__.maybe_patch_concurrency调用_patch_eventlet哪个调用:

def _patch_eventlet():
    import eventlet
    import eventlet.debug
    eventlet.monkey_patch()
    blockdetect = float(os.environ.get('EVENTLET_NOBLOCK', 0))
    if blockdetect:
        eventlet.debug.hub_blocking_detection(blockdetect, blockdetect)

最新更新