55 lines
1.5 KiB
PHP
55 lines
1.5 KiB
PHP
<?php
|
|
namespace App\Utils\Workerman;
|
|
|
|
use Workerman\Lib\Timer;
|
|
use App\MarketHour;
|
|
class WorkerCallback
|
|
{
|
|
protected $events = ["onWorkerStart", "onConnect", "onMessage", "onClose", "onError", "onBufferFull", "onBufferDrain", "onWorkerStop", "onWorkerReload"];
|
|
protected $interval = 1;
|
|
protected $wsConnection;
|
|
protected $worker;
|
|
public function __construct()
|
|
{
|
|
$this->registerEvent();
|
|
}
|
|
public function registerEvent()
|
|
{
|
|
foreach ($this->events as $yXKEuKJ => $CpWSnxQ) {
|
|
method_exists($this, $CpWSnxQ) && ($this->{$CpWSnxQ} = [$this, $CpWSnxQ]);
|
|
}
|
|
}
|
|
public function onWorkerStart($worker)
|
|
{
|
|
|
|
|
|
$this->worker = $worker;
|
|
echo '进程' . $worker->id . '启动' . PHP_EOL;
|
|
if ($worker->id < 8) {
|
|
$KvYhtUJ = ['1min', '5min', '15min', '30min', '60min', '1day', '1mon', '1week'];
|
|
$WEDDKbJ = $KvYhtUJ[$worker->id];
|
|
$worker->name = 'huobi.ws:' . 'market.kline.' . $WEDDKbJ;
|
|
} else {
|
|
$worker->name = 'huobi.ws:' . 'market.depth.step0';
|
|
}
|
|
$UiFYzeQ = new WsConnection($worker->id);
|
|
$this->wsConnection = $UiFYzeQ;
|
|
$UiFYzeQ->connect();
|
|
}
|
|
public function onWorkerReload($worker)
|
|
{
|
|
}
|
|
public function onConnect($connection)
|
|
{
|
|
}
|
|
public function onClose($connection)
|
|
{
|
|
}
|
|
public function onError($connection, $code, $msg)
|
|
{
|
|
}
|
|
public function onMessage($connection, $data)
|
|
{
|
|
|
|
}
|
|
} |