【发布时间】:2010-11-18 17:13:59
【问题描述】:
如何让 Django 在特定时间自动执行某事?
例如,我的 django 应用程序必须在预先定义的时间通过 ftp 上传到远程服务器。 ftp 服务器地址、用户名、密码、时间、日期和频率已在 django 模型中定义。
我想根据模型中存储的值自动运行文件上传。
一种方法是编写一个 python 脚本并将其添加到 crontab。该脚本每分钟运行一次,并密切关注模型中定义的时间值。
我能粗略想到的其他事情可能是 django 信号。我不确定他们是否能处理这个问题。有没有办法在预定义的时间生成信号(尚未深入了解它们)。
【问题讨论】:
-
为什么不使用 crontab?这正是它的用途,而且非常擅长。
-
我能想到的一个原因是用户可轻松配置周期,无需将用户在 UI 中定义的内容转换为 crontab 行,也无需在 Windows 上运行 Django 应用程序。
-
就是这个原因。我想给后端管理员(包括非技术人员)一个基于表单的配置。