Files
ZangShiQi/vendor/yunwuxin/think-cron/src/cron/Service.php
2026-04-04 17:27:12 +08:00

31 lines
786 B
PHP
Executable File

<?php
namespace yunwuxin\cron;
use Swoole\Timer;
use think\swoole\Manager;
use yunwuxin\cron\command\Run;
use yunwuxin\cron\command\Schedule;
class Service extends \think\Service
{
public function boot()
{
$this->commands([
Run::class,
Schedule::class,
]);
$this->app->event->listen('swoole.init', function (Manager $manager) {
$manager->addWorker(function () use ($manager) {
Timer::tick(60 * 1000, function () use ($manager) {
$manager->runWithBarrier([$manager, 'runInSandbox'], function (Scheduler $scheduler) {
$scheduler->run();
});
});
}, "cron");
});
}
}