我无法使用'--status'选项找到有关gearadmin命令行工具含义的任何文档.在worker函数名后找到的三个数字是什么意思?
例如,然后我运行此命令:
gearadmin --status
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
worker-function-name 114 0 0
.
Run Code Online (Sandbox Code Playgroud)
我不知道'worker-function-name'之后三个数字的含义.我认为这不重要,但我正在使用带有php扩展和ubuntu 13.10服务器的gearman.
我想查看Gearman守护程序是否正在运行.然后才运行任务,以便我的应用程序不会崩溃.
这是我的代码:
$daemonRunning = true;
while( true )
{
try
{
Yii::app()->gearman->client->ping( true );
if ( $daemonRunning === false )
{
echo "Daemon back online. Starting signature process...\n";
}
Yii::app()->gearman->client->runTasks();
}
catch( GearmanException $e )
{
echo "Daemon appears to be down. Waiting for it to come back up...\n";
$daemonRunning = false;
}
sleep(1);
}
Run Code Online (Sandbox Code Playgroud)
但问题是ping不会抛出异常,它会抛出一个致命的错误:
PHP Error[2]: GearmanClient::ping(): flush(GEARMAN_COULD_NOT_CONNECT) 127.0.0.1:4730 -> libgearman/connection.cc:673
Run Code Online (Sandbox Code Playgroud)
虽然奇怪的是,如果我删除ping并仅使用runTasks,则抛出异常.
有关:
当进程运行时Gearman守护程序关闭时,如何处理错误?当我关闭Gearman守护进程时,我从PHP得到以下错误:
php: libgearman/universal.cc:481: gearman_return_t connection_loop(gearman_universal_st&, const gearman_packet_st&, Check&): Assertion …Run Code Online (Sandbox Code Playgroud)