问题描述
我正在尝试用symfony(PHP)收听监督事件。遵循以下示例:https://github.com/mtdowling/php-supervisor-event
但是,无论何时我转到相关路线,或从Web界面在http:// localhost:9001 /
下启动侦听器child 38608 said into stdout: "READY"
[Web Server/PHP ] Sep 21 16:40:25 |ERROR| PHP PHP Fatal error: Maximum execution time of 30 seconds exceeded in ...../vendor/mtdowling/supervisor-event/src/Mtdowling/Supervisor/EventListener.PHP on line 133
[Web Server/PHP ] Sep 21 16:40:25 |ERROR| PHP Uncaught PHP Exception Symfony\Component\ErrorHandler\Error\FatalError: "Error: Maximum execution time of 30 seconds exceeded" at ..../vendor/mtdowling/supervisor-event/src/Mtdowling/Supervisor/EventListener.PHP line 133
我的控制器:
<?PHP
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Mtdowling\Supervisor\EventListener;
use Mtdowling\Supervisor\EventNotification;
if(!defined('STDIN')) define('STDIN',fopen('PHP://stdin','r'));
if(!defined('STDOUT')) define('STDOUT',fopen('PHP://stdout','w'));
if(!defined('STDERR')) define('STDERR',fopen('PHP://stderr','w'));
class EventController extends AbstractController
{
/**
* @Route("/api/listener",methods="GET",name="my_listener")
*/
public function listener()
{
$listener = new EventListener();
$listener->listen(function(EventListener $listener,EventNotification $event) {
$listener->log($event->getEventName());
$listener->log($event->getServer());
$listener->log($event->getPool());
$listener->log(var_export($event->getData(),true));
return true;
});
}
}
我的supervisor.conf相关部分:
[eventlistener:listener1]
command=wget "http://localhost:8000/api/listener"
events=PROCESS_STATE
stderr_logfile=/home/Data/test_processes/l1.err.log
stdout_logfile=/home/Data/test_processes/l1.out.log
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)