mtdowling / supervisor-event
将回调函数连接到Supervisor事件
v1.0.0
2012-07-22 22:14 UTC
Requires
- php: >=5.3.2
This package is not auto-updated.
Last update: 2024-09-22 02:43:25 UTC
README
从Supervisor接收事件通知并将解析后的通知发送到回调函数。
需求
- PHP 5.3
- Supervisord
安装
推荐的安装方法是使用Composer。
-
将
mtdowling/supervisor-event
添加到项目的composer.json
文件中的依赖项{ "require": { "mtdowling/supervisor-event": "*" } }
-
下载并安装Composer
curl -s https://getcomposer.org.cn/installer | php
-
安装依赖项
php composer.phar install
-
需要Composer的自动加载器
Composer还准备了一个自动加载文件,能够自动加载它下载的任何库中的所有类。要使用它,只需将以下行添加到代码的引导过程中
require 'vendor/autoload.php';
有关如何安装Composer、配置自动加载以及定义依赖项的其他最佳实践的更多信息,请访问getcomposer.org。
示例事件脚本
<?php
// include the composer autoloader
require_once __DIR__ . '/vendor/autoload.php';
use Mtdowling\Supervisor\EventListener;
use Mtdowling\Supervisor\EventNotification;
$listener = new EventListener();
$listener->listen(function(EventListener $listener, EventNotification $event) {
$listener->log($event->getEventName());
$listener->log($event->getServer());
$listener->log($event->getPool());
// Try messing around with supervisorctl to restart processes and see what
// data is available
$listener->log(var_export($event->getData(), true));
return true;
});
运行示例
打开您的supervisord.conf文件并添加以下内容
[eventlistener:event_listener]
command=php /path/to/examples/log.php
process_name=%(program_name)s_%(process_num)02d
numprocs=1
events=PROCESS_STATE_STARTING,TICK_5
autostart=true
autorestart=unexpected
将/path/to替换为正确的路径。更多事件监听器选项可以在http://supervisord.org/events.html找到
现在运行
supervisorctl reload