Maison  >  Article  >  développement back-end  >  如何保证一台机器的死掉后另一台机器继续执行php脚本

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

WBOY
WBOYoriginal
2016-06-06 20:23:251331parcourir

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

回复内容:

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

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

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

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

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

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

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn