1 changed files with 30 additions and 0 deletions
@ -0,0 +1,30 @@ |
|||
<?php |
|||
|
|||
use Workerman\Worker; |
|||
use Workerman\Timer; |
|||
use app\common\dm\Dm; |
|||
use app\common\logic\PassFlow; |
|||
require_once __DIR__ . '/workman/vendor/autoload.php'; |
|||
require_once __DIR__ . '../../source/application/common/dm/Dm.php'; |
|||
require_once __DIR__ . '../../source/application/common/logic/PassFlow.php'; |
|||
require_once __DIR__ . '../../source/thinkphp/helper.php'; |
|||
require_once __DIR__ . '../../source/thinkphp/library/think/Config.php'; |
|||
require_once __DIR__ . '../../source/application/common.php'; |
|||
$config = require_once __DIR__ . '../../source/application/database.php'; |
|||
|
|||
$worker = new Worker('websocket://0.0.0.0:2000'); |
|||
// 进程启动后定时推送数据给客户端 |
|||
$worker->onWorkerStart = function($worker) use($config) { |
|||
# 数据库链接不能在主进程,方法外是主进程 |
|||
$dm = new Dm($config['connections']['dm']); |
|||
// 每2.5秒执行一次 |
|||
$time_interval = 3; |
|||
Timer::add($time_interval, function()use($worker,$dm){ |
|||
foreach($worker->connections as $connection) { |
|||
$passData = PassFlow::realTimeData($dm); |
|||
$returnData = ['data' => $passData]; |
|||
$connection->send(json_encode($returnData)); |
|||
} |
|||
}); |
|||
}; |
|||
Worker::runAll(); |
|||
Loading…
Reference in new issue