Python 芹菜中的Catch调用错误

Python 芹菜中的Catch调用错误,python,celery,Python,Celery,我有一个芹菜工人连接到RabbitMQ,这样客户机就可以向工人发出请求。对于请求,我使用芹菜函数apply\u async和apply远程调用函数 我使用参数expire来确定任务等待完成的时间。我这样做是希望处理挂起的任务,但在我的示例中,这不起作用。当我在worker关闭的情况下运行这个示例时,调用程序将无限期挂起 下面是一个示例,其中函数hello远程运行,并且test\u hello调用此函数: def test_hello(): hosts = ["host1", "host2

我有一个芹菜工人连接到RabbitMQ,这样客户机就可以向工人发出请求。对于请求,我使用芹菜函数
apply\u async
apply
远程调用函数

我使用参数
expire
来确定任务等待完成的时间。我这样做是希望处理挂起的任务,但在我的示例中,这不起作用。当我在worker关闭的情况下运行这个示例时,调用程序将无限期挂起

下面是一个示例,其中函数
hello
远程运行,并且
test\u hello
调用此函数:

def test_hello():
    hosts = ["host1", "host2", "host3"]
    for host in hosts:
        print "%s\n" % host
        output = myapp.hello.apply_async(queue=host, args=(host,), expires=70)
        print output.get()

@task(name='myapp.hello')
def hello(hostname):
    """ dummy function that returns a simple message """
    time.sleep(60)
    return "Hello %s" % hostname

if __name__ == "__main__":
    print "test_hello"
    test_hello()
我的问题是,当工人处于低位时,我想抓住错误,或者当工人在呼叫中间崩溃时,请求挂起。如何捕捉这些错误