我正在试图找出调度程序rq-scheduler
的工作。有一个scheduler.py:
from redis import Redis
from rq_scheduler import Scheduler
from datetime import datetime
from task import save_exchange_rates
redis_conn = Redis()
scheduler = Scheduler(connection=redis_conn)
scheduler.schedule(
datetime.utcnow(),
save_exchange_rates,
interval=10,
repeat=None,
)
这是一个将数据写入数据库的脚本,如果我手动运行它,它就可以工作。 task.py:
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'market_capitalizations.settings'
import django
django.setup()
import requests
from exchange_rates.models import Currency
def save_exchange_rates():
url = 'https://api.coinmarketcap.com/v1/ticker/'
repositories = requests.get(url).json()
for exchange in repositories:
Currency.objects.create(name=exchange['name'],
price_usd=exchange['price_usd'],
last_updated=exchange['last_updated'],)
我安装了模块:rq,rq-scheduler,redis。 (Image)
但是调度程序rq-scheduler
不会将任务转移给“worker”。
请告诉我,我做错了什么,问题的原因是什么?