Celery似乎正在挑战一名分工人员

时间:2016-11-04 19:37:19

标签: python rabbitmq celery

我为我的芹菜代码编写了一个测试。配置worker以使acks_late设置为True。我有一个特殊的函数,它基于https://wiki.python.org/moin/CrashingPython

故意对代码进行分段
def crash():
    """
    crash the Python interpreter...
    """
    import ctypes
    i = ctypes.c_char('a')
    j = ctypes.pointer(i)
    c = 0
    while True:
            j[c] = 'a'
            c += 1
    j

我的任务只是一个time.sleep(10),然后调用crash()。

如果我......

  • 在杀死童工之前杀死主要工作人员流程,然后任务再次出现在队列中,准备好接受。
  • 杀死童工(第9页)或通过seg-fault(第11页)使其崩溃,任务从rabbitMQ队列中消失。我的猜测是它被父任务激活了。您可以在日志中看到它引发了WorkerLostError。

我想知道是否有人之前遇到过此问题并且知道解决方法或修复方法。谢谢!

0 个答案:

没有答案