【问题标题】:django_rq jobs are not added to the queuedjango_rq 作业未添加到队列中
【发布时间】:2018-02-25 04:05:33
【问题描述】:

我正在使用: django-rq:0.9.6 rq_scheduler: 0.6.1

我对 docker 和 django_rq 还很陌生。

我遇到的问题是,我的作业没有执行或进入队列。

docker-compose.yml

redis:
    container_name: projapi-redis
    restart: always
    image: redis:latest
    ports:
      - '6379:6379'

rq:
    container_name: projapi-rq
    build: .
    command: python manage.py rqworker default
    volumes:
      - .:/src
    links:
      - redis

  rqscheduler:
    container_name: projapi-rqscheduler
    build: .
    command: python manage.py rqscheduler
    volumes:
      - .:/src
    links:
      - redis

settings.py

RQ_QUEUES = {
    'default': {
        'URL': 'redis://redis/0',
    }
}

在 python shell 中,我运行了 :do_task.delay() 并且 RQ 队列完成的作业数量大幅增加。当我运行:scheduler.schedule(datetime.utcnow(), 'do_task', interval=20) 时,我没有得到任何响应。

tasks.py

from django_rq import job, get_scheduler
from datetime import datetime


scheduler = get_scheduler()


@job
def do_delay_task():
    return 'do_delay_task'


@job
def do_task():
    return 'do a task'


do_delay_task.delay()
scheduler.schedule(datetime.utcnow(), 'do_task', interval=2000)

【问题讨论】:

    标签: django docker redis django-rq


    【解决方案1】:

    这是周期性任务运行,你忘了运行它:

    scheduler.run()
    

    也可以考虑使用这个模块: https://github.com/rq/rq-scheduler

    【讨论】:

      猜你喜欢
      • 2014-11-04
      • 2022-08-20
      • 2013-11-14
      • 2021-11-02
      • 2019-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多