其他特性

配置Swoole的事件回调函数

支持的事件列表:

事件需实现的接口发生时机
WorkerStartHhxsv5\LaravelS\Swoole\Events\WorkerStartInterface发生在Worker/Task进程启动时,并且已经完成Laravel初始化
WorkerStopHhxsv5\LaravelS\Swoole\Events\WorkerStopInterface发生在Worker/Task进程正常退出时。
WorkerErrorHhxsv5\LaravelS\Swoole\Events\WorkerErrorInterface发生在Worker/Task进程发生异常或致命错误时。

1.创建事件处理类,实现相应的接口。

  1. namespace App\Events;
  2. use Hhxsv5\LaravelS\Swoole\Events\WorkerStartInterface;
  3. use Swoole\Http\Server;
  4. class WorkerStartEvent implements WorkerStartInterface
  5. {
  6. public function __construct()
  7. {
  8. }
  9. public function handle(Server $server, $workerId)
  10. {
  11. // 初始化一个数据库连接池对象
  12. // DatabaseConnectionPool::init();
  13. }
  14. }

2.配置。

  1. // 修改文件 config/laravels.php
  2. 'event_handlers' => [
  3. 'WorkerStart' => \App\Events\WorkerStartEvent::class,
  4. ],