小编Ale*_*yev的帖子

循环消息/任务队列现有解决方案

考虑一组有限的任务必须在一段时间内完成(在这段时间内均匀分布),然后一再重复.

在一个本地工作者/线程的情况下,我们只是做这样的事情(抱歉伪代码):

long interval = period / tasks.size

while (true) {
  for (task in tasks) { 
    task.do()
    sleep(interval)
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,我希望以分布式方式,多个独立工作人员.

对于这样的案例,是否有一些已知的最佳实践解决方案(最好来自Java世界)?循环消息队列?分布式锁定任务?我已经google了一点安静,但看不到任何优雅的开箱即用解决方案.

java architecture message-queue task

6
推荐指数
1
解决办法
142
查看次数

为什么不'for'在'go'里面工作?

为什么调用此函数不会打印任何内容?

(defn test-go-loop []
  (go (for [a (cycle [:a :b :c])]
        (do (println a) (<! (timeout 1000))))))
Run Code Online (Sandbox Code Playgroud)

clojure

2
推荐指数
1
解决办法
65
查看次数

标签 统计

architecture ×1

clojure ×1

java ×1

message-queue ×1

task ×1