如何使用 Redis Pub/Sub 在多个工作人员之间映射工作?
我有一个 Redis 客户端,需要在 3 个工作人员之间拆分/映射一项工作。假设该工作由 3 个任务组成。我想以这样的方式映射它们,其中 3 个并行运行,并且该作业仅花费(大约)1/3 的执行时间。 Redis本身有什么办法可以做到这一点吗?我没有找到。
I have a Redis client which needs to split/map a job among say 3 workers. Suppose the job consists of 3 tasks. I want to map them in such a way that 3 of them runs in parallel and the job takes only (approx) 1/3 of execution time. Is there any way to do this with Redis itself? I didn't find any.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用redis创建任务队列。例如,您可以让主进程将任务推送到任务队列,然后让工作进程不断轮询任务队列以查找新工作。
Master伪代码:
Worker伪代码:
You can use redis to create a task queue. For example, you can have a master process pushing tasks to a task queue and then have workers polling the task queue constantly for new work.
Master psuedo code:
Worker pseudo code: