gpt4 book ai didi

python - Django 如何停止函数的执行

转载 作者:太空宇宙 更新时间:2023-11-04 05:16:38 26 4
gpt4 key购买 nike

我正在尝试通过 Ajax 调用 python 函数。我想停止执行该功能。我试图刷新页面,但它并没有停止。当我停止 Django 服务器时,它就会停止。

这里有一些代码:This Call 调用 HTTP 请求

class ScrapData():

@classmethod
def search_status(self, urls_list):
for url in urls_list:
r = requests.get(url)
text = r.text
#...

return 1

通过 Ajax 调用这个 View

class SearchData(View):

def get(self, request, *args, **kwargs):
urls_list = [];
response = ScrapData().search_status(urls_list)

return HttpResponse(response)

我想停止这个功能。我怎样才能做到这一点?谢谢

最佳答案

这个 Django 应用程序是如何提供服务的?有多少个进程和线程?您如何知道哪个线程运行特定请求?有几种 Python 方法可以处理这个问题,但它不像“停止特定请求”那么简单。

在我看来,在管理、可扩展性和 self 健全方面处理长轮询任务的最佳方法是使用像 Celery 这样的工具。还有一个专用的SO question on how to revoke a Celery task .

Django Channels 是解决这个问题的另一种新方法,但在可以使用它而不是 Celery 之前它需要更多的开发。

关于python - Django 如何停止函数的执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41542230/

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