这是八篇文章中的第五篇,详细介绍了部署到ZendServer的技巧。该系列的上一篇文章详细介绍了如何保护您的JobQueue作业脚本。
今天,我将分享一些关于编写作业脚本的最佳实践,特别是关于如何指示执行状态。
技巧5:设置工作状态
您应该始终设置您的作业脚本状态,并以适当的返回状态退出。这确保作业队列明确知道作业是否成功完成,这可以帮助您更好地识别UI中失败的作业。我使用以下内容:
// for failure: ZendJobQueue::setCurrentJobStatus(ZendJobQueue::FAILED); exit(1); // for success: ZendJobQueue::setCurrentJobStatus(ZendJobQueue::OK); exit(0);
我也开始回复相关消息了。由于JobQueue在UI面板中聚合了这些,因此您可以检查输出,这通常有助于调试。
exec($command, $output, $return); header('Content-Type: text/plain'); if ($return != 0) { ZendJobQueue::setCurrentJobStatus(ZendJobQueue::FAILED); echo implode(" ", $output); exit(1); } ZendJobQueue::setCurrentJobStatus(ZendJobQueue::OK); echo implode(" ", $output); exit(0);
这是示例输出:
([0;34m]
样式的代码是彩色代码;具有彩色功能的终端将以彩色显示输出,但ZendServer当然会看到明文。)
总而言之:通过ZendJobQueue::setCurrentJobStatus()
静态方法和exit()
代码返回适当的作业状态,并发送输出以帮助稍后诊断问题。
下次……
本系列的下一个技巧将讨论在ZendServer中设置页面缓存,以及创建作业以清除页面缓存。
系列其他文章
- 技巧1:zf-deploy
- 技巧2:重复作业
- 技巧3:chmod
- 技巧4:保护作业脚本
- 技巧6:页面缓存
- 技巧7:zs-client
- 技巧8:自动化