Flask/Heroku/Redis/RQ内部服务器E

2024-06-01 09:38:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个推荐网站。所有的工作都很顺利,直到当站点的流量足够大时,建议将花费超过30秒(Heroku的限制)和超时,抛出500个错误。我知道对于http请求来说这是一个很长的时间。在

所以,我在网上阅读并用Redis实现了RQ。我已经让它工作了,但是经过一些测试之后,它仍然会抛出内部服务器错误,即使请求正在通过一个队列。在

我真的只是缺乏知识,我不知道该怎么办。我想我错过了rq和redis的全部想法吧?如果有帮助的话,这里是我的一些代码,但是我希望得到更多的指导,从这里开始修复这个错误。在

在工人.py在

import os
import redis
from rq import Worker, Queue, Connection

listen = ['high', 'default', 'low']

redis_url = os.getenv('REDISTOGO_URL',
                      'redis://redistogo:sampleurl:portNo/')
if not redis_url:
    raise RuntimeError('Set up Redis to go first.')

conn = redis.from_url(redis_url)

if __name__=='__main__':
    with Connection(conn):
        worker = Worker(map(Queue, listen))
        worker.work()

我的一部分视图.py在

^{pr2}$

欢迎任何指导


Tags: frompyimportredisurlifqueueos