时间:2021-07-01 10:21:17 帮助过:13人阅读
如何保证一台机器的死掉后另一台机器(linux)继续执行同一个php脚本(cli),请教方案?
不知道你会不会使用keep-lived 写一个脚本监控即可, 如果A机器的某个指定名称脚本不存在在进程列表里,就可以启用B机器的这个脚本。不知道能不能满足你的要求,
如果keep lived 不会用,直接shell死循环写一个ssh远程执行命令也可以实现,稍微会麻烦些,也不优雅。
第三套策略,你可以用A,B两台机器同时运行一个死循环脚本, 这个脚本会检查数据库中你关注的脚本注册的计数器,如果计数器大于1 就说明有在运行,如果计数器为0,就起来一个业务脚本,并修改计数器。
做不到继续执行,只能做到重新运行。
系统只能保证进程存活时的执行上下文环境,一旦进程结束,不论是被杀死还是出错或者意外事故,都不可能继续执行。业务上能否继续需要你自己在脚本启动时检查做到哪儿了,接着做。
监视脚本存活和切换的方法可以参考@lnight的回答。