Python 让django应用程序在特定时间通知用户

Python 让django应用程序在特定时间通知用户,python,django,crontab,Python,Django,Crontab,简短描述 我如何让我的应用程序在创建事件一段时间后向人员列表发送通知 详细描述 我的网站允许鲍勃把他想卖的东西放到网上。有几个人看到它想买。如果6小时后无人感兴趣,应通过电子邮件通知卖方 解决办法我发现我觉得很脏 每分钟运行crontab,查看人们不感兴趣的所有文章缺点:不太准确+扫描整个数据库+我的应用程序外部 有更好的解决方案吗?作为选项1,您可以编写crontab将使用的解决方案 选项2(实际上也与cron工作相关)是使用芹菜或类似的工具(在您的情况下,我更喜欢选项1) 请随意提问,我将更

简短描述

我如何让我的应用程序在创建事件一段时间后向人员列表发送通知

详细描述

我的网站允许鲍勃把他想卖的东西放到网上。有几个人看到它想买。如果6小时后无人感兴趣,应通过电子邮件通知卖方

解决办法我发现我觉得很脏

每分钟运行crontab,查看人们不感兴趣的所有文章缺点:不太准确+扫描整个数据库+我的应用程序外部


有更好的解决方案吗?

作为选项1,您可以编写crontab将使用的解决方案

选项2(实际上也与cron工作相关)是使用芹菜或类似的工具(在您的情况下,我更喜欢选项1)


请随意提问,我将更新我的答案,作为选项1,您可以编写供crontab使用的内容

选项2(实际上也与cron工作相关)是使用芹菜或类似的工具(在您的情况下,我更喜欢选项1)


请随时提问,我会更新我的答案,您需要的是

基本上,在已安装的应用程序中使用django_cron作为

INSTALLED_APPS = (
    'django_cron',)
通过在项目根目录中创建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 
此外,您还必须使用每隔一段时间运行一次的东西来设置cron作业

*/5 * * * * bash /home/tester/my_cron/cron.sh
cron.sh inturn调用

python /home/tester/app/my_app/manage.py runcrons
这里有更多文档
你要找的是

基本上,在已安装的应用程序中使用django_cron作为

INSTALLED_APPS = (
    'django_cron',)
通过在项目根目录中创建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 
此外,您还必须使用每隔一段时间运行一次的东西来设置cron作业

*/5 * * * * bash /home/tester/my_cron/cron.sh
cron.sh inturn调用

python /home/tester/app/my_app/manage.py runcrons
这里有更多文档

我想你逃不过克朗塔布。对于您的要求,1分钟的间隔是否不太准确?如果用户已经在查看页面,您可以使用js和ajax请求(易趣竞价风格)微调更新。您检查过了吗?此外,如果您有某种索引,则不必扫描整个数据库。@w较低的1分钟间隔显然不如在所需时间运行的东西准确。事实上,我希望我的应用程序能够在无人开启的情况下正常运行it@AlfonsoPérez
hackerearth
像这样,虽然做了很多工作(虽然有一个更简单的解决方案),但我不知道您的要求,所以我看不出这对其他人来说是“清楚的”。不管怎样,看看我想你逃不了克朗塔布。对于您的要求,1分钟的间隔是否不太准确?如果用户已经在查看页面,您可以使用js和ajax请求(易趣竞价风格)微调更新。您检查过了吗?此外,如果您有某种索引,则不必扫描整个数据库。@w较低的1分钟间隔显然不如在所需时间运行的东西准确。事实上,我希望我的应用程序能够在无人开启的情况下正常运行it@AlfonsoPérez
hackerearth
像这样,虽然做了很多工作(虽然有一个更简单的解决方案),但我不知道您的要求,所以我看不出这对其他人来说是“清楚的”。无论如何,看看哇,django_cron看起来很有趣。抢手货我认为这个包中唯一缺少的是自给自足,仍然需要Django之外的cron的支持才能运行。啊,哇,django_cron看起来很有趣。抢手货我认为这个包中唯一缺少的是自给自足,仍然需要Django之外的cron的支持才能运行。好吧