Привет, я понимаю, что этот вопрос уже задавался, но я еще не нашел ветку с ответом, которая мне подходит.
В настоящее время я пытаюсь добавить redis в приложение flask на heroku. и я следовал за учебником по https://devcenter.heroku.com/articles/python-rq#create -a-worker в значительной степени слово в слово, и это код, который у меня есть
worker.py
import os
import redis
from rq import Worker, Queue, Connection
listen = ['high', 'default', 'low']
redis_url = os.getenv('REDISTOGO_URL', 'redis://localhost:6379')
conn = redis.from_url(redis_url)
if __name__ == '__main__':
with Connection(conn):
worker = Worker(map(Queue, listen))
worker.work()
У меня есть это в моем Procfile
worker: python worker.py
И я добавляю методы для очереди в моем файле views.py
from rq import Queue
from worker import conn
q = Queue(connection=conn)
@app.route('/view.html', methods=['GET'])
@login_required
def view():
df_one = q.enqueue(sqe, page_one)
df_two = q.enqueue(sqe, page_two)
return render_template('layouts/default.html',
content=render_template('pages/view.html', one=json.dumps(df_one),two=json.dumps(df_two))
У меня также есть Heroku Redis в качестве моего Установленные дополнения и форма dyno для 'worker python worker.py' также включены
Приложение может основываться на heroku, но в журналах моего приложения есть эти ошибки, и я не могу получить доступ к страницам с помощью q .enqueue (...)
app[worker.1]: redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.
app[heroku-redis]: source=REDIS addon=redis-infinite-26628 sample#active-connections=1 sample#load-avg-1m=0.02 sample#load-avg-5m=0.075 sample#load-avg-15m=0.1 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15664264kB sample#memory-free=12589900kB sample#memory-cached=938732kB sample#memory-redis=313968bytes sample#hit-rate=1 sample#evicted-keys=0
app[heroku-redis]: source=REDIS addon=redis-infinite-26628 sample#active-connections=1 sample#load-avg-1m=0.23 sample#load-avg-5m=0.13 sample#load-avg-15m=0.115 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15664264kB sample#memory-free=12591860kB sample#memory-cached=938736kB sample#memory-redis=313968bytes sample#hit-rate=1 sample#evicted-keys=0
Обновление: Я установил redisto go в свои аддоны и больше нет проблем с соединениями