我们在Docker容器中运行php cli命令,并安装了New Relic deamon来跟踪异常。问题是New Relic在interval of 1 minute上发送异常跟踪,但是当我们的php进程因异常而崩溃时,容器会立即被杀死。
是否有(简单的)解决方案在php进程死亡后将容器保持活动约一分钟,例如将其包装在其他脚本/程序中?
答案 0 :(得分:1)
感谢user2915097的评论让我思考,我们找到了解决方案。我们写了一个小脚本,我们使用容器的入口点并在脚本失败时休眠。
时钟守护PHP-入口点:
#!/bin/sh
eval "$@" || (echo 'Delaying exit for 60 seconds for New Relic to send its report...' && sleep 60)
要添加到Dockerfile的行:
COPY cron-php-entrypoint /usr/local/bin/
ENTRYPOINT ["cron-php-entrypoint"]