sma*_*ber 1 python django cron
简短的介绍
如何让我的应用程序在创建事件一段时间后向人员列表发送通知?
详细描述
我的网站允许鲍勃把他想卖的东西放在网上。有很多人看到它并想购买它。如果 6 小时后无人感兴趣,应通过电子邮件通知卖家。
解决方案我发现我认为很脏
每分钟运行 crontab 来检查人们不感兴趣的整篇文章。缺点:不太准确+扫描整个数据库+我的应用程序外部...
有更好的解决方案吗?
您正在寻找的是https://pypi.python.org/pypi/django-cron/0.3.6
本质上,您在 INSTALLED_APPS 中使用 django_cron 作为
INSTALLED_APPS = (
'django_cron',)
Run Code Online (Sandbox Code Playgroud)
通过在项目根目录中创建 cron.py 来设置 cron 作业
class SixHourEmailUpdate(CronJobBase):
code = 'six_hour_reminder_cron'
schedule = Schedule( run_every_mins = 360 ) # 6 hours
def do(self):
# Your email sending
Run Code Online (Sandbox Code Playgroud)
此外,您还必须设置一个 cron 作业,其中的内容会每隔一段时间运行一次。
*/5 * * * * bash /home/tester/my_cron/cron.sh
Run Code Online (Sandbox Code Playgroud)
cron.sh 依次调用
python /home/tester/app/my_app/manage.py runcrons
Run Code Online (Sandbox Code Playgroud)
更多文档在这里 http://django-cron.readthedocs.org/en/latest/sample_cron_configurations.html#run-at-times-feature