停止外部函数处理

2024-06-11 08:59:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个大问题。我在一个webpython项目中工作,在单击一个按钮之后,调用一个特定的控制器,然后调用Python模块中的另一个函数,如下面的代码所示。但是,我需要另一个按钮来停止流函数控制器的进程

import analyser
def stream():
    analyser.get_texts()
    response.flash = "Analysis Done."
    return ""

我一直在研究如何通过外部事件(类似于中断)停止进程,但我得到的解决方案都是关于如何通过返回语句以编程方式使用sys.exit()ou停止python脚本。这些解决方案实际上都不适合我

我希望用户能够随时停止该函数,只要我的函数analyzer.get\texts()一直在处理

因此,我的问题是如何通过单击视图上的按钮来停止函数的执行?谢谢


Tags: 模块项目函数代码importstreamget进程
1条回答
网友
1楼 · 发布于 2024-06-11 08:59:32

如果我理解正确的话,那么你的分析器不能提供自己的方法来终止正在进行的计算。因此,您需要将其包装成允许您在没有“同意”的情况下终止分析仪的东西

正确的方法取决于以这种方式终止分析器有多糟糕:它是否使资源处于糟糕的状态

根据这一点,您有多种选择:

  • 在单独的过程中运行分析。这些可以从外面干净利落地杀死。请注意,强制停止线程通常不是一个好主意,因此请改用进程

  • 使用某种异步任务管理来创建和停止任务(例如芹菜)

相关问题 更多 >