我使用gearman来同步不同服务器上的数据。我们有1主服务器,例如10台本地服务器。让我来描述一下其中一个可能的情况。比如说,gearman开始工作了,完成了5项任务,同步了5台服务器上的数据。当开始下一个工作时,比如说,我们失去了与服务器的连接,现在无法使用它。根据齿轮人的逻辑,它一次又一次地重试。因此,其余的作业(对于服务器7、8、9、10)将在第6次未完成之前不会执行。最好的解决方案是推迟作业,并将其放到队列的末尾,并继续作业7-10。
如果有人知道如何做,请张贴的方式。
PS:我在用蟒蛇。
发布于 2012-01-20 15:00:56
Gearman作业可以并行或串联运行。与其使用单个作业,不如使用并发作业(每个服务器都使用一个作业)。
发布于 2012-02-10 08:28:50
GearmanClient.submit_multiple_jobs(jobs_to_submit, background=False, wait_until_complete=True, max_retries=0, poll_timeout=None)这一功能将有所帮助。让背景=真。
这个链接也会有帮助。
https://stackoverflow.com/questions/8628940
复制相似问题