2021-03-26 02:12:34 +08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace Snowflake\Crontab;
|
|
|
|
|
|
|
|
|
|
|
2021-03-29 15:14:17 +08:00
|
|
|
use Exception;
|
|
|
|
|
use ReflectionException;
|
2021-03-26 02:12:34 +08:00
|
|
|
use Snowflake\Abstracts\Config;
|
|
|
|
|
use Snowflake\Abstracts\Providers;
|
|
|
|
|
use Snowflake\Application;
|
2021-03-29 15:14:17 +08:00
|
|
|
use Snowflake\Exception\ComponentException;
|
|
|
|
|
use Snowflake\Exception\ConfigException;
|
|
|
|
|
use Snowflake\Exception\NotFindClassException;
|
2021-03-26 02:12:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Class CrontabProviders
|
|
|
|
|
* @package Snowflake\Crontab
|
|
|
|
|
*/
|
|
|
|
|
class CrontabProviders extends Providers
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
2021-03-29 15:14:17 +08:00
|
|
|
/**
|
|
|
|
|
* @param Application $application
|
|
|
|
|
* @throws ReflectionException
|
|
|
|
|
* @throws ComponentException
|
|
|
|
|
* @throws ConfigException
|
|
|
|
|
* @throws NotFindClassException
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
2021-03-26 02:12:34 +08:00
|
|
|
public function onImport(Application $application)
|
|
|
|
|
{
|
|
|
|
|
$server = $application->getServer();
|
2021-03-26 02:13:18 +08:00
|
|
|
$application->set('crontab', ['class' => Producer::class]);
|
2021-03-26 02:12:34 +08:00
|
|
|
if (Config::get('crontab.enable') !== true) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
2021-04-12 02:55:12 +08:00
|
|
|
$server->addProcess('CrontabZookeeper', Zookeeper::class);
|
2021-03-26 02:12:34 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|