Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python softtimeout和芹菜任务中的超时不';行不通_Python_Celery - Fatal编程技术网

Python softtimeout和芹菜任务中的超时不';行不通

Python softtimeout和芹菜任务中的超时不';行不通,python,celery,Python,Celery,我的任务平均需要20秒。我想为此任务设置软超时和硬超时。我这样定义它: @app.task(ignore_result=True, timeout=100, soft_timeout=50) def MYTASK(SOMEPARAMS): # MYTASK [2014-08-22 12:51:00,003: INFO/MainProcess] Task MYTASK[56002e72-a093-46c6-86cd-4c7b7e6ea7c3] succeeded in 15.54902

我的任务平均需要20秒。我想为此任务设置软超时和硬超时。我这样定义它:

@app.task(ignore_result=True, timeout=100, soft_timeout=50)
def MYTASK(SOMEPARAMS):
     # MYTASK
[2014-08-22 12:51:00,003: INFO/MainProcess] Task MYTASK[56002e72-a093-46c6-86cd-4c7b7e6ea7c3] succeeded in 15.549023876s: None
但它实际上不起作用。我使用以下参数测试它:

@app.task(ignore_result=True, timeout=1, soft_timeout=1)
def MYTASK(SOMEPARAMS):
     # MYTASK
但是我的任务工作正常,它们需要1秒钟以上的时间,而这是永远不应该完成的

为什么超时不起作用

编辑: 当我在日志中使用1秒超时时,我会看到如下打印:

@app.task(ignore_result=True, timeout=100, soft_timeout=50)
def MYTASK(SOMEPARAMS):
     # MYTASK
[2014-08-22 12:51:00,003: INFO/MainProcess] Task MYTASK[56002e72-a093-46c6-86cd-4c7b7e6ea7c3] succeeded in 15.549023876s: None
使用和
soft\u time\u limit
参数:

@task(time_limit=2, soft_time_limit=1)
def mytask():
    pass
还请注意:

时间限制目前不适用于Windows和其他 不支持SIGUSR1信号