这是一个创建于 3072 天前的主题,其中的信息可能已经有所发展或是发生改变。
我想实现一套任务管理系统 B/S 架构。想实现一个客户端任务调度系统。
任务类型分为几类:
1.循环单机任务(如果一个客户端已经领取就其它机器都领取不到,除非任务被取消掉,否则会连同新任务一起执行) 2.循环任务(所有的机器都可以领取,且一直都能领取)
3.单机循环定时任务(单个客户端可以指定几点后开始执行该任务,执行多少次)
4.循环任务定时任务(所有的客户端都可以指定几点开始,执行多少次)
5.普通任务,领取之后该任务,任务将无法再次被其它客户端领取
目前设计的是用 redis 去 push/pop ,这样就会解决不了循环问题,后来改成 push/sub 模式,后加入的客户端无法得到之前的数据,而且一发消息所有客户端都收到了,求帮助
3 条回复 • 2016-05-03 21:04:50 +08:00
|
|
1
henneko 2016-05-03 09:31:05 +08:00 via iPhone
1.clearsession 2.topicId 其实我不懂
|
|
|
2
calease 2016-05-03 09:49:17 +08:00 1
celery + rabbitmq 可以解决所有问题。 需要单个领取的用 redlock 。
|
|
|
3
adrianzhang 2016-05-03 21:04:50 +08:00
多种队列用 rabbitmq 统一管理就行。楼上方案靠谱
|