Python RQ (Redis Queue) 0.4.0 如何?

2013-12-13 06:07:42 +08:00
 dcoder
还没release,有人知道什么时候release吗?看着支持 Job dependencies.
https://github.com/nvie/rq/blob/master/CHANGES.md

还有,请问现在在用 RQ 的朋友,这个东西稳定性,性能如何?
主要有哪些坑?听说有些 worker 会莫名地挂了。这个能设置好吗?

我看代码base很小,确实是极好的优点!!
9289 次点击
所在节点    RQ
17 条回复
Livid
2013-12-13 06:18:54 +08:00
用了一年多了,挺满意的。
dcoder
2013-12-13 06:29:43 +08:00
Livid老大,你尝试 0.4.0 的 Job dependencies 了吗?

还有,下面这个问题你遇上过吗 ?
<amp-youtube data-videoid="Ttw816mwnQY" layout="responsive" width="480" height="270"></amp-youtube>at 22:19, RQ works are killed aggressively, leave in .pid files
need to cfg it as a reliable solution
wuxqing
2013-12-13 10:54:11 +08:00
如果每台服务器上开多个worker,会出现job都跑到单台服务器的情况
dcoder
2013-12-13 12:07:38 +08:00
@wuxqing 我没太看懂你的意思,你是说如果一个跑worker的服务器开了很多worker进程的话,job就会都跑到workder进程开得多的服务器上吗?然后其他worker进程开得少的服务器就饿死了?
Lycnir
2013-12-13 12:20:54 +08:00
推荐 Basic Message Queue with Redis
http://flask.pocoo.org/snippets/73/

使用中
dcoder
2013-12-13 13:25:08 +08:00
@Lycnir 自己写,自己测...?
wuxqing
2013-12-13 14:03:49 +08:00
@dcoder 举个例子:
4台服务器,每台服务器运行4个worker
发布4个job,有的时候会出现,4个job在一台服务上跑。其他3台服务器闲着
Livid
2013-12-13 14:14:59 +08:00
@dcoder 你的意思是这个东西可能会跑着跑着就崩掉只留下 pid 文件么?

我是用 supervisor 来控制的,如果崩掉就会自动再启动。
Lycnir
2013-12-13 15:10:54 +08:00
@dcoder 对 但是还要看具体应用和你要求的性能
目前我是用作api redis做队列也做cache 然后把结果写入sql
dcoder
2013-12-13 16:34:05 +08:00
@wuxqing 貌似是个问题,没有 load balance 的能力么? 我从文档里面是没看到
dcoder
2013-12-13 16:35:18 +08:00
@Livid 我还没开始大规模跑,回头再来 update 经验. 还听说 rq-dashboard 费资源,你有用吗?
dcoder
2013-12-13 16:35:54 +08:00
@Lycnir 我决定还是先用现成的了
Livid
2013-12-13 16:42:41 +08:00
@dcoder 几乎不会用到它。

因为如果你需要看一些数据,或是直接操作 rq 的话,稍微研究一下它在 Redis 里的数据结构,然后直接写 Redis 就好了。
dcoder
2013-12-14 02:16:16 +08:00
@Livid 请问 Job dependencies 你是自己实现的吗? 还是用的最新的 0.4.0 的source code.
stillzhl
2014-11-25 14:33:12 +08:00
@Livid job dependency 之间的参数是如何传递的?比如两个job:a 和 b,b依赖于a的job result,那b如何获取这个job result?
Livid
2014-11-25 14:35:13 +08:00
@stillzhl 如果 A 运行结束之后,把结果写到 Redis,然后启动 B 呢?
stillzhl
2014-11-25 14:40:19 +08:00
@Livid 哦哦,有点明白了。我在写一个分布式的爬虫,上边的A代表下载页面,B代表页面解析。按照你的说法,我可以在A中发起B的job,并以page response作为参数。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/92955

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX