在Flask中为整个应用程序运行一次cron作业

问题描述 投票:0回答:1

我当时正在使用APScheduler BackgroundScheduler每隔几秒钟运行一次作业。

我的问题是,如果我将Scheduler放入我的代码中,在云上运行它,并且有成千上万的用户发出请求,是否将重复执行Scheduler的工作?

在我看来,对于Flask创建的每个进程,都会运行BackgroundScheduler线程。这意味着将在云上重复工作。

如果是这种情况,有没有一种方法可以解决此问题,而不必在单独的计算机上运行某些脚本。我宁愿在Flask工作,主要是因为成本和可维护性。

python flask apscheduler
1个回答
0
投票

[从体系结构的角度来看,您想要在数据库上执行一些操作。理想情况下,这不应成为Flask应用程序的一部分。

Flask应该是一个Web服务器。它应该像网络服务器一样使用。您要运行的任务应该使用ApScheduler或您可能需要的其他任何功能作为单独的脚本运行。两者之间需要相互隔离,因为它们彼此不依赖。

假设明天您的Flask应用程序崩溃了,这是否意味着您的脚本不应该运行?

如果您的需求像一个端点,您可以安排时间和任务来安排时间,然后需要在那时进行处理,那么将APScheduler和Flask放在一起就很有意义。

© www.soinside.com 2019 - 2024. All rights reserved.