1

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

我对 docker 和 django_rq 还很陌生。

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

码头工人-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

设置.py

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

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

任务.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)
4

1 回答 1

1

这是定期任务运行,您忘记运行它:

scheduler.run()

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

于 2018-12-06T09:58:43.147 回答