当 drupal 分布在多台服务器上时,如何管理它的 cron?

当 drupal 分布在多台服务器上时,如何管理它的 cron?

What's the best way to stop the machines fighting, while keeping them identical to keep things simple and reduce single points of failure?

答案1

Check out this article which suggests using Hudson (now Jenkins) for the job.

Excerpt:

对于远程作业,Hudson 可以使用 SSH 登录到系统,复制其自己的运行时,并在远程系统上运行您想要的任何内容。这意味着,无论集群中有多少台服务器需要安排作业,Hudson 都可以从一台服务器安排、运行和记录它们。Hudson 可以根据哪些机器已经繁忙来动态分配作业,或者它可以将作业绑定到特定的机器。

干杯

答案2

最好的方法是直接在脚本中维护某种全局锁。此锁应该可以从每个服务器访问,因此这里有两个明显的选择:使用数据库(您已经拥有它)和使用分布式文件系统(您可能没有它)。当然,您必须修改脚本的行为来设置和删除锁。

相关内容