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

时间:2018-04-13 16:45:17

标签: python-3.x flask celery python-multithreading

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

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

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

例如,

  • 如果在/ start收到请求,则 o然后开始然后开始这个方法 o返回HTTP响应代码(响应不应等待方法完成

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

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

  1. 尝试从路线创建一个线程并调用方法 - 由于某种原因烧瓶等待方法完成(是因为烧瓶是单线程还是阻塞?)

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

  3. 以异步方式启动此过程的正确方法是什么?怎么样?线程? asyncio或芹菜是唯一的方法。

1 个答案:

答案 0 :(得分:0)

这是一个工作示例。当你打电话给import pandas as pd from ast import literal_eval df = pd.read_csv('mandados_12_abr_2018_RJ.csv', sep=';') all_lists = sum((literal_eval(l) for l in df.mandados.tolist()), []) cols = ["nomeParte", "orgao", "numeroMandado", "dataMandado", "situacao", "detalhes"] df = pd.DataFrame(all_lists)[cols] 时,它会开始一个1秒的循环,打印"正在运行..."。然后当你调用run时,它会修改一个全局变量,线程函数会检查该循环并停止。

您应该能够粘贴并转到,然后从那里进行修改。

stop