【问题标题】:Run a cron job to check the due date of a task运行 cron 作业以检查任务的到期日期
【发布时间】:2018-01-25 17:54:40
【问题描述】:

我正在整合 Django 和 Chatfuel。

现在机器人快完成了,我上一个任务有困难,我有一些任务要做,每个任务都有到期时间,所以在到期前三天我必须给我的客户发消息提醒他/her 他/她必须完成这项任务。

我可以在与我的机器人第一次交互后获得 messenger_user_id,现在,我知道我必须定期运行一个 cron 作业来检查到期日期,如果它接近,则通过广播 API 发送消息。

但我不知道如何实现这个目标。

    models.py 

class Tasks(models.Model):
    task = models.CharField(max_length=100)
    objective = models.TextField()
    created_date = models.DateTimeField(
                default=timezone.now)
    due_date = models.DateTimeField(
                default=timezone.now)

    def __str__(self):
        return self.task


views.py #in here I obtain user's fb id 

def save_fb_id(request, username, fb_id):
    profile = Profile.objects.get(user__username=username)
    if profile.fb_id != fb_id:
        profile.fb_id = fb_id
        profile.save()
    return HttpResponse()

【问题讨论】:

  • 查看celery-beat
  • @JahongirRahmonov 用于安装这只是与pip install django-celery-beat 没有先安装芹菜?
  • 不,这是celery 的一部分,所以你需要安装celerycelery 依赖于诸如rabbitmq 之类的代理。你也需要安装它。看到这个:docs.celeryproject.org/en/latest/getting-started/…
  • 谢谢@JahongirRahmonov

标签: python django cron bots chatfuel


【解决方案1】:

您可以查看django-crontab 模块。它非常易于使用,而且功能强大。

【讨论】:

    猜你喜欢
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 2017-10-18
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-27
    相关资源
    最近更新 更多