一大波 RQ 的问题, work 数,工作模式,非独立运行 ……

2015-04-21 11:59:13 +08:00
 Feiox

文档瞅过一边,但还是有很多不明白:

  1. 如何控制 Work 的数量,能在运行过程中动态改变吗?
  2. work 貌似是单进程?能不能改为 多线程 或者 Gevent 工作模式?
  3. 对于低 CPU 消耗,HTTP I/O 密集 型任务,是否会因为 IO 中而阻塞?
  4. 如果使用 Flask 只启动一个 app.py ,rq 能不能作为一个子进程而存在(不需要单独在终端中启动)

附一个笑话(真实),今天上课是我们老师在吹说接过一个社交类项目,甲方要求性能可以达到每秒 1000万 的并发数量,报价 50w。这老师嗨吹嘘说自己不太敢接,找华为的几个人来做这个项目。笑 shi,老师您当我傻啊。

3378 次点击
所在节点    Python
4 条回复
washinriver
2015-04-21 15:55:23 +08:00
work是客户端的逻辑, 无所谓是进程,线程还是协程的实现吧.
可以在app.py里, 用multiprocess启动rq进程.

1000w/s....
oclock
2015-04-21 22:55:41 +08:00
3 是典型的协程场景
4 用RQ又不想单起worker进程我认为是妖蛾子做法,如果缺flask上下文可以with app_context()给worker,或者不用RQ改用python-message、blinker
fy
2015-04-21 23:19:10 +08:00
只玩过zmq,多进程还是挺不错的,性能也不差。动态改Worker没试过。
也可以玩玩celery,这个比zmq还要简单
yarving
2016-06-17 10:04:27 +08:00
In fact, you can refer to this: http://python-rq.org/docs/

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

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

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

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

© 2021 V2EX