【发布时间】: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()
【问题讨论】:
-
@JahongirRahmonov 用于安装这只是与
pip install django-celery-beat没有先安装芹菜? -
不,这是
celery的一部分,所以你需要安装celery和celery依赖于诸如rabbitmq 之类的代理。你也需要安装它。看到这个:docs.celeryproject.org/en/latest/getting-started/… -
谢谢@JahongirRahmonov
标签: python django cron bots chatfuel