public function testReconnect() { $this->assertEquals('value', Db::reconnect()->query('SELECT "value" v')->fetch()['v'], 'DB reconnect failed'); }
public function startIsolated() { $this->setWorkerStarted(false); $serverProcess = new SwooleProcess(function () { $this->start(); }, true); $serverProcess->start(); Db::reconnect(); $retry = 20; while ($retry && !$this->isWorkerStarted()) { usleep(100000.0); --$retry; } $this->isWorkerStarted() or Log::error('Failed to start'); return $serverProcess; }
public function onWorkerStart(SwooleServer $server, $workerId) { Db::reconnect(); @cli_set_process_title($this->name . ': worker process ' . $workerId); }