Sms 我可以安排芹菜任务在特定时间段之间执行吗?

Sms 我可以安排芹菜任务在特定时间段之间执行吗?,sms,queue,celery,django-celery,Sms,Queue,Celery,Django Celery,我在一个基于订阅向用户发送短信的组织工作,我的堆栈有Django、芹菜、Redis、RabbitMQ、PostgreSQL、Apache、nginx和Kannel。在这种环境下,每个SMS服务提供商都有一段时间可以发送SMS 假设我有一个芹菜任务,它向运营商Web服务发出计费请求,如果计费成功,我必须发送一条短信,是否有办法将此任务安排在特定时间段(比如上午8点到下午6点)之间发送?我知道我可以指定eta和过期时间,但是我不希望我的任务过期,因为我必须发送短信,所以我将在第二天发送它们您可以将短

我在一个基于订阅向用户发送短信的组织工作,我的堆栈有Django、芹菜、Redis、RabbitMQ、PostgreSQL、Apache、nginx和Kannel。在这种环境下,每个SMS服务提供商都有一段时间可以发送SMS


假设我有一个芹菜任务,它向运营商Web服务发出计费请求,如果计费成功,我必须发送一条短信,是否有办法将此任务安排在特定时间段(比如上午8点到下午6点)之间发送?我知道我可以指定eta和过期时间,但是我不希望我的任务过期,因为我必须发送短信,所以我将在第二天发送它们

您可以将短信放入队列,并使用crontab shceduler在特定时间发送它们。下面的示例在8到6之间每隔10分钟执行一次tasks.send_sms任务


有没有办法使用djcelery和DatabaseScheduler对此进行调度?CELERYBEAT_scheduler=djcelery.schedulers.DatabaseScheduler
from celery.schedules import crontab

CELERYBEAT_SCHEDULE = {
    "every-10-mins-between-8-6": {
        "task": "tasks.send_sms",
        "schedule": crontab(minute="*/10", hour="8,18"),
    }, }