几天前我的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
我正在使用PythonRQ(由Redis支持)将任务提供给一堆工作进程。我在向队列添加作业时不小心发送了一个元组,所以现在我有这样的队列:highmediumlow('low',)default我似乎无法弄清楚如何摆脱('low',)队列。该队列似乎还因其名称而引起一些问题(例如,我无法在rq-dashboard中查看或清除它,因为页面将拒绝加载)。这里有一些讨论:RQ-Empty&DeleteQueues,但这仅涵盖清空队列。我可以从Python中很好地清空队列,但我似乎无法从Redis服务器中实际删除队列。RQ文档似乎没有提供任何关于摆脱您不想要的队列的信息。我想真正删除那个队列(
我正在尝试将RQworker连接到Unix域套接字上的Redis服务器。我试过以下方法$rqworker--url'/path/to/redis.sock'Error111connectingtoNone:6379.Connectionrefused.$rqworker--url'redis:///path/to/redis.sock'Error111connectingtoNone:6379.Connectionrefused.$rqworker--url'redis+socket:///path/to/redis.sock'Error111connectingtoNone:6379
我有一个名为modeling-manager的flask应用程序正在运行,它正在接收来自另一个flask应用程序的发布请求。'直到那里一切正常。(所有文件都位于同一个文件夹中)当被post请求触发时,Modeling-manager会在Redis中注册一个作业供worker执行。要执行的作业称为run_model(),它存储在main.py(flask应用程序)中的不同文件和导入器中worker在与建模管理器应用程序相同的docker上启动。使用脚本:worker.pymain.py->flask应用程序fromflaskimportFlask,request,jsonifyimpor
这困扰了我几个小时,我似乎还没有找到解决方案。我正在使用django-rq对一些长时间运行的任务进行排队。在我的tasks.py中,我有以下内容:fromdjango_rqimportjob@jobdeflong_running_task(hash,url,file_path):#doingsomework在我的views.py中,defpost(self,request,hash,file_path,format=None):URL="http://127.0.0.1:9000/work/"task=django_rq.enqueue(long_running_task,hash,U
如果这是一个愚蠢的问题,我道歉并会羞愧地把头藏起来,但是:我正在使用rq在Python中对作业进行排队。我希望它像这样工作:工作A开始。作业A通过WebAPI抓取数据并存储。作业A运行。作业A完成。A完成后,作业B开始。作业B检查作业A存储的每条记录,并添加一些额外的响应数据。完成工作B后,用户会收到一封高兴的电子邮件,说他们的报告已准备就绪。到目前为止我的代码:redis_conn=Redis()use_connection(redis_conn)q=Queue('normal',connection=redis_conn)#thisisterrible,Iknow-fixingla
我将开始在我的项目中使用django-rq。DjangointegrationwithRQ,aRedisbasedPythonqueuinglibrary.测试使用RQ的Django应用程序的最佳实践是什么?例如,如果我想将我的应用程序作为黑盒进行测试,在用户执行某些操作后我想执行当前队列中的所有作业,然后检查我的数据库中的所有结果。我怎样才能在我的django测试中做到这一点? 最佳答案 我刚找到django-rq,它允许您在测试环境中启动一个工作线程,该工作线程执行队列中的任何任务然后退出。fromdjango.testimpo
如何将作业的结果传递给依赖它的作业?我目前所做的是将第一份工作的id传递给第二份工作,first=queue.enqueue(firstJob)second=queue.enqueue(secondJob,first.id,depends_on=first);并在secondJob中获取第一个作业以获取结果first=queue.fetch_job(previous_job_id)printfirst.result这是推荐的方式吗?我可以使用任何其他模式将第一份工作的结果直接传递给第二份工作吗? 最佳答案 您可以从作业本身访问有关当
我想使用django_rq和rq-scheduler进行离线任务,但我不确定在哪里调用rq-scheduler安排重复任务的能力。现在,我已将我的日程安排添加到我的应用程序中的tasks.py模块,并将其导入到__init__.py中。不过,必须有更好的方法来做到这一点,对吗?提前致谢。 最佳答案 我创建了一个自定义管理命令,它修改并替换了django_rq中包含的rqscheduler命令。此处提供了一个示例:https://github.com/rq/rq-scheduler/issues/51#issuecomment-362