来自 Flask 应用程序的预定作业
Scheduled job from Flask application
我希望对计划任务流程有一个基本的了解,以及为什么 Flask 推荐 Celery 之类的东西。
我的情况是一个基于网络的工具,它根据用户输入生成电子表格。我将这些电子表格保存到一个临时目录,当用户单击 "download" 按钮时,我使用 Flask 的 "send_from_directory" 函数将文件作为附件提供。我需要一个后台服务 运行 每 15 分钟左右清除所有超过 15 分钟的文件的临时目录。
我最初的计划是一个基本的 python 脚本 运行ning in a while(True) loop,但我做了一些研究以找出人们通常做的事情,并且一切都推荐 Celery 或其他任务管理人员。我查看了 Celery,发现我还需要了解 redis,而且我显然需要在 unix 环境中托管 redis。这对于一个每 15 分钟只删除文件的脚本来说是一个很大的麻烦。
我正在 Windows 使用内置开发服务器在本地开发我的 Flask 应用程序,并使用 IIS 部署到公司 Intranet 上的虚拟机。我边学边学,所以请解释为什么需要这么多机器来定期调用只删除内容的脚本。这似乎过于复杂,但正如我所说,我正在努力学习,所以我想 do/learn 正确。
谢谢!
您不会为此使用 Celery 或 Redis。一个 cron 作业是非常合适的。
Celery 适用于需要 运行 异步但响应主服务器进程中的事件的作业。例如,如果注册表单需要发送电子邮件通知,那么将通过 Celery 安排并运行,以免阻塞主要的 Web 响应。
我希望对计划任务流程有一个基本的了解,以及为什么 Flask 推荐 Celery 之类的东西。
我的情况是一个基于网络的工具,它根据用户输入生成电子表格。我将这些电子表格保存到一个临时目录,当用户单击 "download" 按钮时,我使用 Flask 的 "send_from_directory" 函数将文件作为附件提供。我需要一个后台服务 运行 每 15 分钟左右清除所有超过 15 分钟的文件的临时目录。
我最初的计划是一个基本的 python 脚本 运行ning in a while(True) loop,但我做了一些研究以找出人们通常做的事情,并且一切都推荐 Celery 或其他任务管理人员。我查看了 Celery,发现我还需要了解 redis,而且我显然需要在 unix 环境中托管 redis。这对于一个每 15 分钟只删除文件的脚本来说是一个很大的麻烦。
我正在 Windows 使用内置开发服务器在本地开发我的 Flask 应用程序,并使用 IIS 部署到公司 Intranet 上的虚拟机。我边学边学,所以请解释为什么需要这么多机器来定期调用只删除内容的脚本。这似乎过于复杂,但正如我所说,我正在努力学习,所以我想 do/learn 正确。
谢谢!
您不会为此使用 Celery 或 Redis。一个 cron 作业是非常合适的。
Celery 适用于需要 运行 异步但响应主服务器进程中的事件的作业。例如,如果注册表单需要发送电子邮件通知,那么将通过 Celery 安排并运行,以免阻塞主要的 Web 响应。