两个模块应该使用相同的redis连接吗? (我和Flask一起工作)

时间:2015-04-07 03:27:44

标签: python redis python-rq

我正在构建一个使用Redis队列的Flask应用。工人的代码是:

listen = ['default']

#redis_url = os.getenv('REDISTOGO_URL', 'redis://localhost:6379')
conn = redis.from_url(redis_url)
if __name__ == '__main__':
    with Connection(conn):
        worker = Worker(list(map(Queue, listen)))
        worker.work()

另一个模块,app.py包含处理Flask路线的代码。我的问题是,app.py应该创建一个新的Redis连接:

q = Queue(connection= redis.from_url(redis_url))
q.enqueue_call(func=mailers.send_message, kwargs=request.json, result_ttl=86400) 

或app.py应该使用

import conn from worker

并使用该连接?

1 个答案:

答案 0 :(得分:2)

我会说使用新的连接,除非你有充分的理由不这样做(虽然我无法想象这样的原因)