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

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

阅读 2.8k
2 个回答

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

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

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题