gpt4 book ai didi

python - 如何从 django 模板暂停和停止 celery 任务

转载 作者:行者123 更新时间:2023-12-02 11:22:32 25 4
gpt4 key购买 nike

我正在开发一个使用 celery 异步运行任务的 django 应用程序。现在,用户可以从网页提交表单以启动 celery 任务。但是无法通过单击 django 模板中的按钮来暂停或停止任务。
到目前为止,这是我的代码
celery 任务

@shared_task
def get_website(website):
website_list = return_website_list(website)

return website_list
在上面的任务中,我调用 return_website_list()抓取所需网站并返回网站链接列表的函数。
output.html 模板
<div class="container">
<button class="pause_btn" type="button">Pause task</button>
<button class="resume_btn" type="button">Resume task</button>
<button class="stop_btn" type="button">Stop task</button>
</div>
我希望能够在单击暂停按钮时无限期暂停任务并在单击恢复按钮时恢复任务或在单击停止按钮时完全停止任务的能力。
View .py
def index(request):

if request.method == 'POST':
website = request.POST.get('website-name')

get_website.delay(website)
return redirect('output')

return render(request, 'index.html')
我在网上搜了下,像这些 link1 , link2 , link3 .但是这些链接并没有帮助我实现我想要做的事情。
提前致谢

最佳答案

我的想法是一个名为 state 的字段,状态将从暂停按钮单击中设置。并且在每个 Action 检查状态的 celery 任务中,如果它处于暂停状态,则等待 1 秒并再次检查。我以前用这个想法来取消操作

关于python - 如何从 django 模板暂停和停止 celery 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63762783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com