芹菜似乎有裂痕

2024-04-20 03:52:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经为我的芹菜代码写了一个测试。已配置辅助进程,以便将acks\u 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

我的任务只执行一次sleep(10),然后调用crash()

如果我

  • 在杀死子工作进程之前先杀死主工作进程,然后任务再次出现在队列中,准备接收
  • 杀死子工作进程(sig 9)或通过seg错误(sig 11)使其崩溃,任务将从rabbitMQ队列中消失。我猜它是由父任务确认的。您可以在日志中看到它引发了WorkerLosterError

我想知道是否有人遇到过这种情况,并知道一个解决办法或修复。谢谢


Tags: 函数代码httpsorgtrue队列进程wiki