Server启动在主进程的主线程时回调此函数,该回调函数被执行时,已经完成的工作有:

  • frameInitialize
  • beforeWorkerStart
  • 已创建了manager进程,worker子进程,监听了所有TCP/UDP端口,定时器
> onStart回调中,仅允许echo、打印Log、修改进程名称。不得执行其他操作。
  onWorkerStart和onStart回调是在不同进程中并行执行的,不存在先后顺序。
  可以在onStart回调中,将$serv->master_pid和$serv->manager_pid的值保存到一个文件中。这样可以编写脚本,
  向这两个PID发送信号来实现关闭和重启的操作。在onStart中创建的全局资源对象不能在worker进程中被使用,
  因为发生onStart调用时,worker进程已经创建好了。
  新创建的对象在主进程内,worker进程无法访问到此内存区域。因此全局对象创建的代码需要放置在swoole_server_start之前。

results matching ""

    No results matching ""