>  기사  >  백엔드 개발  >  如何保证一台机器的死掉后另一台机器继续执行php脚本

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

WBOY
WBOY원래의
2016-06-06 20:23:251330검색

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

回复内容:

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

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

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

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

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

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.