Home  >  Article  >  Backend Development  >  如何保证一台机器的死掉后另一台机器继续执行php脚本

如何保证一台机器的死掉后另一台机器继续执行php脚本

WBOY
WBOYOriginal
2016-06-06 20:23:251103browse

如何保证一台机器的死掉后另一台机器(linux)继续执行同一个php脚本(cli),请教方案?

回复内容:

如何保证一台机器的死掉后另一台机器(linux)继续执行同一个php脚本(cli),请教方案?

不知道你会不会使用keep-lived 写一个脚本监控即可, 如果A机器的某个指定名称脚本不存在在进程列表里,就可以启用B机器的这个脚本。不知道能不能满足你的要求,

如果keep lived 不会用,直接shell死循环写一个ssh远程执行命令也可以实现,稍微会麻烦些,也不优雅。

第三套策略,你可以用A,B两台机器同时运行一个死循环脚本, 这个脚本会检查数据库中你关注的脚本注册的计数器,如果计数器大于1 就说明有在运行,如果计数器为0,就起来一个业务脚本,并修改计数器。

做不到继续执行,只能做到重新运行。

系统只能保证进程存活时的执行上下文环境,一旦进程结束,不论是被杀死还是出错或者意外事故,都不可能继续执行。业务上能否继续需要你自己在脚本启动时检查做到哪儿了,接着做。

监视脚本存活和切换的方法可以参考@lnight的回答。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn