在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  Python  網(wǎng)絡(luò)安全/ 求教celery如何根據(jù)id停止正在執(zhí)行的任務(wù)

求教celery如何根據(jù)id停止正在執(zhí)行的任務(wù)

當(dāng)任務(wù)運(yùn)行時(shí)間長(zhǎng)的時(shí)候,我有的時(shí)候可能想會(huì)停止這個(gè)任務(wù)進(jìn)行調(diào)整,請(qǐng)問如何根據(jù)celery任務(wù)的id停止任務(wù)呢?
我在文檔中找到了增加base=AbortableTask的方式,可以通過(guò)AsyncResult發(fā)送abort()方法,但是文檔中有句話沒有看懂,原文是After the result.abort() call, the task execution isn’t aborted immediately. In fact, it’s not guaranteed to abort at all. Keep checking result.state status, or call result.get(timeout=) to have it block until the task is finished.
煩請(qǐng)celery大神幫忙看一下,我找的地方是否正確,這句話又是指什么呢…
另外,文檔中提示使用AbortableTask必須使用database backend,那么我使用redis應(yīng)該是沒問題的吧…

回答
編輯回答
清夢(mèng)

當(dāng)任務(wù)運(yùn)行時(shí)間長(zhǎng)的時(shí)候,我有的時(shí)候可能想會(huì)停止這個(gè)任務(wù)進(jìn)行調(diào)整

如果只是這個(gè)目的,加一個(gè)time_limit的修飾器不就可以了?

@task(time_limit=20)
def your_task():
2017年7月29日 06:06
編輯回答
笨小蛋
from celery.task.control import revoke

revoke(id, terminate=True)
2018年6月13日 15:29