workerman/global-timer

Maintainers

👁 workerman

Package info

github.com/walkor/global-timer

Homepage

pkg:composer/workerman/global-timer

Statistics

Installs: 861

Dependents: 1

Suggesters: 0

Stars: 17

Open Issues: 0

dev-master 2022-03-30 12:45 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT d200c4b5d72fdfa417b5e19bcf6d7bb2eb4ec3e1

This package is auto-updated.

Last update: 2026-06-29 02:10:19 UTC


README

Distributed timer for workerman.

Examples

<?php
require __DIR__ . '/../vendor/autoload.php';
use Workerman\Worker;
use Workerman\GlobalTimer;

$global_channel_server = new Channel\Server('0.0.0.0', 3333);

$worker = new Worker('text://0.0.0.0:2222');
$worker->count = 4;
$worker->onWorkerStart = function($worker){
 GlobalTimer::init('127.0.0.1','3333');
 if ($worker->id == 0 ) {
 $timer_id = GlobalTimer::add(1, function() use (&$timer_id){
 echo "worker[0] tick timer_id:$timer_id\n";
 });
 }
};
$worker->onMessage = function($con, $data) use ($worker){
 $timer_id = $data;
 echo "worker[".$worker->id."] del timer_id:$timer_id\n";
 GlobalTimer::del($timer_id);
};
Worker::runAll();