- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
处理 Redis 连接的最佳模式是什么(直接与 Redis 交互以及通过 Python-RQ 间接交互)?
通常,完成后需要关闭数据库连接/将其返回到池中,但我不知道如何使用 redis-py 来做到这一点。这让我怀疑我是不是做错了。
另外,在将作业排队到 RQ 时,我发现性能下降,有人告诉我这可能与连接使用/重用不佳有关。
基本上,我对了解正确的模式很感兴趣,因此我可以验证或更正我们应用程序中的内容。
非常感谢!如果有更多有用的信息,请告诉我。
最佳答案
在幕后,redis-py 使用连接池来管理与 Redis 服务器的连接。默认情况下,您创建的每个 Redis 实例都会依次创建自己的连接池。您可以通过将已创建的连接池实例传递给 Redis 类的 connection_pool 参数来覆盖此行为并使用现有的连接池。您可以选择这样做以实现客户端分片或更好地控制连接的管理方式
pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
r = redis.Redis(connection_pool=pool)
关于python - 如何使用 Python/Python RQ 正确处理 Redis 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15392182/
我正在尝试 python-rq,但我没有看到如何明确地为队列赋予优先级? 优先级是否来自工作人员启动时定义的顺序? rqworker queueA queueB queueC 与 queueB 和 q
我正在尝试运行rq info命令,但我想获取远程redis机器上的信息。如何指定redis机器的url? 最佳答案 事实证明这很简单但没有记录: rq info --url redis://my-se
我将开始在我的项目中使用 django-rq。 Django integration with RQ, a Redis based Python queuing library. 测试使用 RQ 的
我们正在使用 NGINX + Gunicorn + Django + RQ 的架构,有几个 rq-worker。我们使用基本的 Django 日志记录设置(如下),具有翻转和最大文件大小,但是: 创建
我在使用 python RQ 运行多线程任务时遇到问题(在 v0.5.6 和 v0.6.0 上测试)。 考虑以下代码,作为我想要实现的目标的简化版本: 事物.py from threading imp
如何入队一个会运行很长时间的函数? 我想做以下事情: def batch_insert(数据): rows.append(MyModel(*data)) 如果 len(行) > 1000: MyMod
如果这是一个愚蠢的问题,我道歉并会羞愧地把头藏起来,但是: 我正在使用 rq 在 Python 中对作业进行排队。我希望它像这样工作: 工作 A 开始。作业 A 通过 Web API 抓取数据并存储。
我想使用 rq 在单独的 worker 上运行任务以从测量仪器收集数据。用户按下 dash 应用程序上的按钮将发出任务结束信号。问题在于任务本身不知道何时终止,因为它无权访问 dash 应用程序的上下
我正在使用 RQ ,并且我有一个包含数千个项目的 failed 队列,以及我不久前创建的另一个 test 队列用于测试,现在是空的且未使用。我想知道如何从 failed 队列中删除所有作业,并完全删除
我发现(见下文)函数 summary.rq (第 88 页)来自 quantreg 包打印不同的输出,这取决于样本量是大于等于还是小于 1001。 我知道,rq() 使用不同的方法,具体取决于样本大小
我对python rq不是很了解,我刚开始学习它。 有一个 task_a 需要 3 分钟才能完成处理。 @job def task_a(): time.sleep(180) print
我正在尝试使用 Redis 队列和 RQ 调度程序构建作业队列。但是当我尝试加载作业选项卡时,我从 RQ-dashboard 收到以下错误。我看到工作已添加,因为工作数量在增加。 During han
我的 python redis 队列中有一个嵌套的作业结构。首先执行 rncopy 作业。完成后,接下来是 3 个相关的注册作业。当所有这 3 个作业的计算完成后,我想触发一个作业向我的前端发送 we
我在设置 python-rq 时遇到了一个基本问题 - rqworker 似乎无法识别推送到它正在监听的队列的作业。 一切都在 virtualenv 中运行我有以下代码: from redis imp
我想知道将设置从 RQ worker 传递到任务函数的最佳方法是什么? 我想将我的所有设置保存在应用程序之外的文本文件中,然后在工作人员启动时读取它,然后使用这些值来执行实际任务。 现在我正在使用 o
我正在使用 rq和 RedisToGo。如何获取队列中的作业数?我在文档中找不到它? (在 Python 中) 当我尝试时: print "Before: ", len(q.jobs) result
如何将装饰器的函数传递给作业? 我有一个装饰器可以使用该函数运行作业。 @job def queueFunction(passedFunction, *args, **kwargs): # D
本周,我的集成测试停止工作。我发现这是一个无限期停滞的 django-rq 工作。我的输出: $: RQ worker 'rq:worker:47e0aaf280be.13' started, ver
我现在有大量文档要处理,我正在使用 Python RQ 来并行处理任务。 我希望在每个文档上执行不同的操作时完成一系列工作。例如:A -> B -> C 表示将文档传递给函数A,在之后A 已完成,继续
因此,RQ 明确声明我可以将对象的实例方法入队 here ,所以我一直在尝试这样做,但得到了一个 PicklingError: q.enqueue(some_obj.some_func, some_d
我是一名优秀的程序员,十分优秀!