【问题标题】:How to schedule a job with Flask on Windows?如何在 Windows 上使用 Flask 安排作业?
【发布时间】:2026-01-25 04:30:01
【问题描述】:

flask-crontab 似乎无法在我的机器上运行,因为没有 windows cron 之类的东西。

这是我得到的错误:ModuleNotFoundError: No module named 'fcntl'

如果是这种情况,我如何在 Flask 应用程序中编写计划作业?

具体来说,我需要能够部署应用程序——所以一旦它投入生产,它就不会在 Windows 上运行,但与此同时,如果我无法测试 cronjob,我就无法调试我自己的电脑。

感谢任何帮助,例如向我指出有用的文档,建议其他扩展等。谢谢!

皮特

【问题讨论】:

  • 这里有几件事似乎没有意义,但一般来说:如果在您要部署到的同一操作系统中开发对您来说不可行或不理想,您应该 至少有一个尽可能类似于生产环境的测试/暂存环境,这样您就可以在部署之前进行有效的测试。
  • 我是新手——除了 Heroku 之外,还有其他平台对在 Windows 环境中开发的应用程序更友好吗?
  • 这大概是指在 Windows 上运行的平台,这不是我曾经使用或推荐的平台。将部署平台限制在使用 Windows 进行开发并不是一个好主意……如果可以选择的话,一定要尝试切换到 Linux 进行开发。它将使本地测试变得更加容易和有用,并且您将能够更好地使用几乎所有的部署环境。
  • 知道了,我一定会牢记这一点。谢谢!

标签: python flask cron scheduled-tasks


【解决方案1】:

您可以使用 Apache Airflow。它是用 Python 编写的。它的文档是here

【讨论】:

    【解决方案2】:

    我建议你开始使用 Celery

    Celery 是一个用于作业调度的出色库,无论您希望该作业是周期性的还是应请求的任务。

    Follow this guide

    【讨论】: