我有一个推荐网站。所有的工作都很顺利,直到当站点的流量足够大时,建议将花费超过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}$欢迎任何指导
你可以试着在一个web动态节点之间分配工作来简单地确认请求,然后让工人dyno来完成繁重的工作。在
卡夫卡或者类似的东西可以用来完成这个任务。在
相关问题 更多 >
编程相关推荐