1

我正在使用gearman来同步不同服务器上的数据。我们有1 台主服务器,例如 10 台本地服务器。让我描述一种可能的情况。比如说,gearman 开始工作,完成了 5 个工作,同步了 5 个服务器上的数据。当开始下一个工作时,比如说,我们失去了与服务器的连接,现在它不可用。根据 gearman 的逻辑,它会一次又一次地重试。所以剩下的作业(对于服务器 7、8、9、10)将不会执行,直到第 6 个没有完成。最好的解决方案是推迟工作并将其置于队列末尾并继续工作 7-10。

如果有人知道如何做到这一点,请张贴方式。

PS:我正在使用python。

4

2 回答 2

0
GearmanClient.submit_multiple_jobs(jobs_to_submit, background=False, wait_until_complete=True, max_retries=0, poll_timeout=None)

这个功能会有所帮助。只要让背景=真。

这个链接也会有所帮助。

于 2012-02-10T08:28:50.633 回答
0

Gearman 作业可以并行或串行运行。您应该使用并发作业(每个服务器一个),而不是使用单个作业。

于 2012-01-20T15:00:56.547 回答