设置服务以在 Web 群集环境中执行任务



我正在寻找在 Web 集群环境中可靠地执行任务(仅在特定日期/时间执行一次)的方法:例如,在初始注册后 7 天后向用户发送电子邮件提醒。我知道使用 cron/django-cron/django-chronograph 等来实现这一点的方法,但到目前为止我发现的所有内容似乎都是为单服务器场景设计的。

我想避免由于在多个服务器上运行相同的作业而发送重复的提醒,到目前为止,似乎在 Web 集群中汇总您自己的基于数据库的解决方案具有锁定、过期超时等确实是唯一的选择。是否有任何现有的解决方案可以在 Web 集群环境中很好地工作?

您可以使用

芹菜周期性任务。

from datetime import timedelta
CELERYBEAT_SCHEDULE = {
    'add-every-30-seconds': {
        'task': 'tasks.add',
        'schedule': timedelta(seconds=30),
        'args': (16, 16)
    },
}
CELERY_TIMEZONE = 'UTC'

相关内容

  • 没有找到相关文章

最新更新