小编k_r*_*k_r的帖子

使用 Flask 路径启动和停止方法 (Python)

我正在使用 Flask 和 python(版本 3.6)构建一个小型实用程序。

该实用程序基本上使用 REST 调用来调用外部系统(sys1 和 sys2),并将数据从 sys1 单向同步到 sys2。该同步过程将持续运行,直到设置终止标志。

我希望能够使用烧瓶路线启动和停止此同步过程/方法。

例如,

  • 如果在 /start 处接收到请求,
    则 o 然后启动然后启动此方法。
    o 返回 HTTP 响应代码(响应不应等待方法完成

  • 如果在 /stop 收到请求, o 如果该方法正在运行,则通过设置终止标志来停止该方法。 (再次强调,来自烧瓶的响应不应等待方法完成)

现在,我浏览了这里和其他网站的许多查询,但它们似乎都满足了特定的需求。根据我的理解,我尝试了以下方法(可能不正确地完成此任务:

  1. 尝试从路由创建一个线程并调用该方法 - 不起作用,因为由于某种原因 Flask 等待该方法完成(是因为 Flask 是单线程并且阻塞的吗?)

  2. 阅读有关芹菜的内容,但我觉得在这种情况下使用芹菜可能有点过分了。

异步启动此过程的正确方法是什么?如何?线程?asyncio 或 Celery 是唯一的方法。

celery python-multithreading flask python-3.x

4
推荐指数
1
解决办法
3660
查看次数

标签 统计

celery ×1

flask ×1

python-3.x ×1

python-multithreading ×1