草庐IT

django_rq 作业未添加到队列中

我正在使用:django-rq:0.9.6rq_scheduler:0.6.1我对docker和django_rq还很陌生。我遇到的问题是,我的作业未执行或未进入队列。docker-compose.ymlredis:container_name:projapi-redisrestart:alwaysimage:redis:latestports:-'6379:6379'rq:container_name:projapi-rqbuild:.command:pythonmanage.pyrqworkerdefaultvolumes:-.:/srclinks:-redisrqschedule

python - NGINX/Gunicorn/Django-RQ : How to log each rq-worker to a different file

我们正在使用NGINX+Gunicorn+Django+RQ的架构,有几个rq-worker。我们使用基本的Django日志记录设置(如下),具有翻转和最大文件大小,但是:创建的文件有时非常小-几个字节而不是定义的2MB。翻转文件的数量与定义的不同。问题:一个。知道为什么实际文件创建数量和大小与定义的不同吗?b.是否可以让每个djangorq-worker记录到不同的文件,并使用翻转和最大文件大小策略?我们的日志记录设置:LOG_FILE_MAX_SIZE_MB=int(os.environ.get('log_file_max_size_mb',1))LOG_FILES_ROTATE_

python - 如何解决 rq 多任务 h12 heroku 超时?

我正在尝试使用redis运行herokuflaskpython应用程序。但是,我面临以下错误:at=errorcode=H12desc="Requesttimeout"method=POSTpath="/uploaderlocal"host=a2n.herokuapp.comdyno=web.1connect=1msservice=31890msstatus=503bytes=0protocol=httpsheroku网页因上述错误而崩溃(由于超时),但后台进程将继续运行。在redis后台队列中的任务完成之前,是否有任何可能的方法来停止heroku网页?以下是我的代码供您引用。请注意,

python - Flask/Heroku/Redis/RQ 内部服务器错误

我有一个推荐网站。一切正常,直到网站流量相当大时,推荐将花费超过30秒(Heroku的限制)和超时,并抛出500错误。我意识到对于http请求来说这是一个很长的时间。所以,我上网阅读并使用Redis实现了RQ。我让它工作,但经过一些测试后,它仍然会抛出内部服务器错误,即使请求正在通过队列。我真的只是缺乏知识,我不知道该怎么做。我想我错过了rq和redis我猜的整个想法?这是我的一些代码(如果有帮助的话),但我希望能得到更多关于如何从这里修复此错误的指导。worker.pyimportosimportredisfromrqimportWorker,Queue,Connectionlist

python - 生产中的 Redis-Queue (RQ) 任务队列

我最近开始需要在我的Django程序中使用任务队列,我担心它在未来会有多健壮,或者在生产部署中需要克服什么问题。我正在使用适用于Python的Redis-Queue或RQ库,它们自称比Celery(我还没有完全学会)更容易学习和使用。有人对此有任何意见吗?你认为RQ与Redis结合在生产中是否可行,或者你会使用其他东西吗?大型应用程序使用什么进行任务排队? 最佳答案 据我所知,Celery在生产环境中,对于Python/Django来说,最成熟的基于分布式消息传递的同步任务队列/作业队列的实现,以Redis作为代理工作得很好。在生产

Django RQ rqworker 无限期卡住

本周,我的集成测试停止工作。我发现这是一个无限期停滞的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分支,检查它,重新运行集

python - Heroku RQ(Redis 队列)Django 错误 : "Apps aren' t loaded yet.“

我有一个功能性Django应用程序,在我看来它有许多GoogleText-To-SpeechAPI调用和数据库读/写。在本地测试时,加载页面大约需要3秒,但是当我将应用程序实时部署到Heroku时,加载网页大约需要15秒。所以我正在努力减少加载时间。我看到了这篇文章:https://devcenter.heroku.com/articles/python-rq这表明我应该通过使用RQ(Redis队列)库将作业排队给工作人员来使用后台任务。我遵循了他们的步骤,并将他们的worker.py文件包含在与我的manage.py文件相同的目录中(不确定这是否是放置它的正确位置)。我想用一个虚拟函

python - 为什么 RQ 在 logging.config.dictConfg 之后不引发异常?

我想在我的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':{

python-3.x - 如何修复 flask RQ worker 中的无模块错误

我正在使用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运行时

python - 启动 rq-worker 时如何修复 'Error 111 connecting to localhost:6379. Connection refused'?

我在托管在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