【问题标题】:Background task in flask that write to database烧瓶中写入数据库的后台任务
【发布时间】:2022-01-16 22:40:26
【问题描述】:

我想构建一个烧瓶应用程序,从某个电子邮件地址读取电子邮件在路线上显示这些电子邮件。在这里,我想要一个 后台任务 来获取所有电子邮件并将它们写入数据库,并且我希望它在后台连续运行我不想运行它有人请求路线时的任务。 获取电子邮件并显示它们应该完全独立。我认为多处理应该可以工作,但我不知道如何启动两个单独的进程,一个用于获取电子邮件并将其写入数据库,另一个用于显示来自数据库的电子邮件的烧瓶应用程序是否可以这样做? 请帮我给我一个多处理的演示,其中一个进程在后台运行并写入数据库,另一个是烧瓶应用程序该示例可以是任何不需要获取电子邮件的示例任何在单独进程上写入数据库并在另一个进程上从同一数据库读取的烧瓶

感谢您阅读本文。 非常感谢。

【问题讨论】:

    标签: python database multithreading flask multiprocessing


    【解决方案1】:

    最近遇到这个问题,最好的做法是https://apscheduler.readthedocs.io/en/3.x/index.html

    您可以创建调度程序以在任何时间间隔运行任何功能或使用 crontab 表示法。只需确保在您的 app.run() 之前创建调度程序

    例如

    def print_hello():
        print("hello")
    
    scheduler = BackgroundScheduler() # Create Scheduler
    retrain_scheduler.add_job(print_hello, "interval", seconds = 5) # Add job to scheduler
    retrain_scheduler.start() # Start Scheduler
    app.run()
    

    这将每 5 秒运行一次函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      • 1970-01-01
      • 2018-10-26
      相关资源
      最近更新 更多