来自 Flask 应用程序的预定作业

我希望对计划任务流程有一个基本的了解,以及为什么向 Flask 推荐 Celery 之类的东西。

我的情况是一个基于网络的工具,它根据用户输入生成电子表格。我将这些电子表格保存到临时目录,当用户单击“下载”按钮时,我使用 Flask 的“send_from_directory”函数将文件作为附件提供。我需要一个后台服务每 15 分钟左右运行一次,以清除所有早于 15 分钟的文件的临时目录。

我最初的计划是在 while(True) 循环中运行一个基本的 python 脚本,但我做了一些研究以找到人们通常会做什么,并且一切都推荐 Celery 或其他任务管理器。我查了Celery,发现我也需要学习redis,而且我显然需要在unix环境中托管redis。这对于一个每 15 分钟就删除一次文件的脚本来说是很麻烦的。

我正在使用内置开发服务器在 Windows 中本地开发我的 Flask 应用程序,并使用 IIS 部署到公司内部网上的虚拟机。我正在学习,所以请解释为什么需要这么多机器来定期调用一个简单地删除内容的脚本。这似乎是一个巨大的过度复杂化,但正如我所说,我正在努力学习,所以我想正确地做/学习。


慕姐8265434
浏览 209回答 1
1回答

潇湘沐

您不会为此使用 Celery 或 redis。cron 工作将是非常合适的。Celery 用于需要异步运行但响应主服务器进程中的事件的作业。例如,如果注册表单需要发送电子邮件通知,则将通过 Celery 安排和运行,以免阻止主 Web 响应。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python