请问同时处理多个任务,应该用什么

Mruos

问题描述

比如:同时有30个房间的消息需要进行分析计算,有耗时业务,但对时间要求高,不能一个个处理,要一起处理。之前用编译语言都是多线程处理,开30个线程同步进行。

webman里我应该用什么?

1、队列不行吧,队列是先进先出,有了处理顺序,时间上肯定有大的差别。不用队列需要用什么呢?
2、队列可以多进程消费,那如果我有100个房间,设置可允许100个进程同时消费,这样进程这么多,也很不好吧?

谢谢

989 2 0
2个回答

nitron

这个需求换个语言吧.PHP不太适合做这个

six

用队列就行,开多进程没问题。

  • Mruos 2022-10-18

    好的

  • nitron 2022-10-18

    这样你会遇到问题2,因为没法保证100个房间都能分配到不同的进程处理

  • Mruos 2022-10-18

    头疼,开100个进程。有最大90个房间,一个进程有了一个正在消费了,还会去提取队列任务吗?一个进程如果有一个在执行队列任务,难道不是其他空闲进程应该先上去拿取队列任务吗

  • six 2022-10-18

    进程在消费了不会再去取队列任务,只有空闲的进程才会去取,所以只要有足够的进程,任务就会被分散到多个进程处理

  • Mruos 2022-10-18

年代过于久远,无法发表回答
×
🔝