承接 wanick/web-socket-queue 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

wanick/web-socket-queue

最新稳定版本:v1.0.7

Composer 安装命令:

composer require wanick/web-socket-queue

包简介

PHP project for web sockets and Queue WebSockets

README 文档

README

Usage with SurrealDB

Examples

use Wanick\WebSocketQueue\Drivers\SurrealDriver; // link to RCP SurrealDB $surreal = new SurrealDriver('wss://hostname:8080/rcp'); if ($surreal) { $surreal->use($config['ns'], $config['db']) ->signin([ "user" => $config['user'], "pass" => $config['pass'], ], function($resulr, $error) { // .... your code  }) ->query('SELECT * FROM people WHERE ago > $ago', ['ago' => 18], function($result, $error) { // .... your code print_r($result[0]); })->exec(); }

Usage with Nats.io NATS

use Wanick\WebSocketQueue\Drivers\NatsDriver; // link to NATS Connection $nats = new NatsDriver('wss://nats.server.com:8080/nats'); if ($nats) { $nats ->pub("EVENT_NAME", ['event' => 'test', 'data' => 123]) ->pub("EVENT_NAME", ['event' => 'test', 'data' => 234]) ->exec(); }

Example listening

use Wanick\WebSocketQueue; $queue = new WebSocketQueue\Queue(); $surreal = new SurrealDriver($url); // this $surreal use + signin  $nats = new NatsDriver($url); $nats->sub('ON-YOUR-CUSTOM-EVENT', null, function(string $result) use($surreal) { $data = json_decode($result, true); // if you write in JSON format to NATS switch ($data['action']) { case 'alert': $surreal->query('UPDATE table_name SET field = $value WHERE id = $id', [ 'id' => $data['id'], 'value' => 1, ]); // Add "->exec()", if you want saving right now  // $queue->wait execute this query on loop break; } }); // can use // $surreal->live('table_name' ... for all table event $surreal->liveQuery('SELECT * FROM table_name WHERE field > $max', [ 'max' => 10], function ($action, $result) use($nats) { switch ($action) { case 'UPDATE': $nats->pub("ON-YOUR-CUSTOM-EVENT", ['action' => 'alert', 'id' => $result['id']]); // can be ->exec() break; default: // no action CLOSE, CREATE, CONNECT, DELETE // use CONNECT - for saving queryUuid for use liveListener or kill break; } }); $queue->registrySocket($surreal); $queue->registrySocket($nats); // Locked loop - and example max work time execute $queue->wait(fn($s) => (microtime(1) - $s < $max_work_time));

统计信息

  • 总下载量: 8.6k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固