我正在尝试使用redis运行herokuflaskpython应用程序。但是,我面临以下错误:at=errorcode=H12desc="Requesttimeout"method=POSTpath="/uploaderlocal"host=a2n.herokuapp.comdyno=web.1connect=1msservice=31890msstatus=503bytes=0protocol=httpsheroku网页因上述错误而崩溃(由于超时),但后台进程将继续运行。在redis后台队列中的任务完成之前,是否有任何可能的方法来停止heroku网页?以下是我的代码供您引用。请注意,
我有一个推荐网站。一切正常,直到网站流量相当大时,推荐将花费超过30秒(Heroku的限制)和超时,并抛出500错误。我意识到对于http请求来说这是一个很长的时间。所以,我上网阅读并使用Redis实现了RQ。我让它工作,但经过一些测试后,它仍然会抛出内部服务器错误,即使请求正在通过队列。我真的只是缺乏知识,我不知道该怎么做。我想我错过了rq和redis我猜的整个想法?这是我的一些代码(如果有帮助的话),但我希望能得到更多关于如何从这里修复此错误的指导。worker.pyimportosimportredisfromrqimportWorker,Queue,Connectionlist
我最近开始需要在我的Django程序中使用任务队列,我担心它在未来会有多健壮,或者在生产部署中需要克服什么问题。我正在使用适用于Python的Redis-Queue或RQ库,它们自称比Celery(我还没有完全学会)更容易学习和使用。有人对此有任何意见吗?你认为RQ与Redis结合在生产中是否可行,或者你会使用其他东西吗?大型应用程序使用什么进行任务排队? 最佳答案 据我所知,Celery在生产环境中,对于Python/Django来说,最成熟的基于分布式消息传递的同步任务队列/作业队列的实现,以Redis作为代理工作得很好。在生产
本周,我的集成测试停止工作。我发现这是一个无限期停滞的django-rq工作。我的输出:$:RQworker'rq:worker:47e0aaf280be.13'started,version0.12.0$:***Listeningondefault...$:Cleaningregistriesforqueue:default$:default:myapp.engine.rules.process_event()(a1e66a46-1a9d-4f52-be6f-6f4529dd2480)这就是它卡住的点。我要键盘打断代码没有改变。可以肯定的是,我回到master分支,检查它,重新运行集
我有一个功能性Django应用程序,在我看来它有许多GoogleText-To-SpeechAPI调用和数据库读/写。在本地测试时,加载页面大约需要3秒,但是当我将应用程序实时部署到Heroku时,加载网页大约需要15秒。所以我正在努力减少加载时间。我看到了这篇文章:https://devcenter.heroku.com/articles/python-rq这表明我应该通过使用RQ(Redis队列)库将作业排队给工作人员来使用后台任务。我遵循了他们的步骤,并将他们的worker.py文件包含在与我的manage.py文件相同的目录中(不确定这是否是放置它的正确位置)。我想用一个虚拟函
我想在我的RQ工作器中使用logging.config.dictConfig。但是,我发现在我运行dictConfig()之后,worker将不再引发在生产环境中不起作用的异常。这是我的worker代码:importloggingimportlogging.configconfig={'version':1,'disable_existing_loggers':True,'handlers':{'console':{'class':'logging.StreamHandler','stream':'ext://sys.stdout','level':'DEBUG'}},'root':{
我正在使用docker-compose构建一个带有Redis和worker的网络应用程序。此外,我有rq-dashboard来监控。整个项目在vagrant-ubuntu环境下项目结构:project/app_main/moduleA/classA-Thetasktodojobs.py-Implementsthejobqueue.py-Hasthecodeperform.queue(id)scripts/worker/dockerfileworker.pydockerfiledocker-compose.ymlapp.pydocker构建正确,应用程序运行良好。但是当worker运行时
我在托管在debian9机器上的Web应用程序中使用flask、redis和rq-worker。当我启动rq-worker时,我收到此错误:“错误111连接到本地主机:6379。连接被拒绝”。我已经检查过Redis是否已安装并正在运行,我尝试了这些命令:/opt/apps/mywebapp/flask$psaux|grepredissib49870.00.012784976pts/2S+09:370:00grepredisredis65740.10.0408603512?Sslmay283:38/usr/bin/redis-server127.0.0.1:6379/opt/apps/m
几天前我的django-rq工作正常,但我重新启动了我的计算机,但现在它不工作了。我可以确认Redis正在运行:brewservicesstartredis这是我尝试运行以启动redis的内容:pythonmanage.pyrqworker这是我得到的错误:Traceback(mostrecentcalllast):File"/Users/casey/PycharmProjects/green_brick_django/venv1/lib/python3.6/site-packages/django/core/handlers/exception.py",line35,ininnerr
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion我对rqworkers的工作方式感到困惑!我创建了一个flaskweb应用程序,它在redis服务器上运行后台进程,然后返回结果。到目前为止,在开发过程中,我一直在使用命令行在我的机器上启动rq工作进程。但是,现在我已准备好在线启动我的应用程序。但是,当远程用户尝试在线运行应用程序时,工作人员托管在哪里?我尝试使用withConnection():在我的代码中直接启动它们,它起作用了,但它也中断了启动We