Python 如何处理芹菜中的超时错误

Python 如何处理芹菜中的超时错误,python,celery,Python,Celery,我使用几个task.apply_async()和task.get()对服务器进行异步调用,并让客户端等待结果。这些任务可能需要不同的时间才能返回结果,完成时间从1分钟到3分钟不等 我想检测任务何时出现TimeError,因为服务器关闭,请求无法处理或传递。在apply\u async调用上使用超时是处理这些错误的唯一方法吗?还有别的办法吗?答案在呼叫获取中。它已获取(超时=值) 工方 要处理时间工作方使用软/硬时间限制: 如果任务超出限制,它将引发错误。然后您可以捕获此异常: try:

我使用几个
task.apply_async()
task.get()
对服务器进行异步调用,并让客户端等待结果。这些任务可能需要不同的时间才能返回结果,完成时间从1分钟到3分钟不等


我想检测任务何时出现
TimeError
,因为服务器关闭,请求无法处理或传递。在
apply\u async
调用上使用超时是处理这些错误的唯一方法吗?还有别的办法吗?

答案在呼叫获取中。它已获取(超时=值)

  • 工方
  • 要处理时间工作方使用软/硬时间限制:

    如果任务超出限制,它将引发错误。然后您可以捕获此异常:

    try:
        task.apply_async().get()
    except TimeLimitExceeded as err:
        pass
    
  • 客户端
  • 要在客户端捕获TimeError,请按照说明使用get(timeout=value)

    try:
      task.apply_async().get(timeout=90)
    except TimeoutError as err:
       pass