This commit is contained in:
2021-03-19 18:11:42 +08:00
parent 2d9b6b769a
commit e0a3e00fbb
2 changed files with 5 additions and 4 deletions
+4 -3
View File
@@ -18,11 +18,12 @@ class Crontab extends Component
/** /**
* @param array|Closure $handler * @param array|Closure $handler
* @param mixed $params
* @param int $tickTime * @param int $tickTime
* @param bool $isLoop * @param bool $isLoop
* @throws Exception * @throws Exception
*/ */
public function dispatch(array|Closure $handler, $tickTime = 1, $isLoop = false) public function dispatch(array|Closure $handler, mixed $params = null, $tickTime = 1, $isLoop = false)
{ {
$redis = Snowflake::app()->getRedis(); $redis = Snowflake::app()->getRedis();
@@ -32,9 +33,9 @@ class Crontab extends Component
$executeTime = time() + $tickTime; $executeTime = time() + $tickTime;
$crontab = ['isLoop' => $isLoop, 'handler' => $handler, 'tick' => $tickTime]; $crontab = ['isLoop' => $isLoop, 'handler' => $handler, 'tick' => $tickTime, 'params' => $params];
$redis->sAdd('system:crontab', $executeTime, serialize($crontab)); $redis->zAdd('system:crontab', $executeTime, serialize($crontab));
} }
} }
+1 -1
View File
@@ -51,7 +51,7 @@ class CrontabProcess extends Process
$redis->zAdd('system:crontab', 0, time() + $list['tick'], serialize($list)); $redis->zAdd('system:crontab', 0, time() + $list['tick'], serialize($list));
} }
try { try {
call_user_func($list['handler']); call_user_func($list['handler'], $list['params'] ?? null);
} catch (\Throwable $throwable) { } catch (\Throwable $throwable) {
$this->application->addError($throwable->getMessage()); $this->application->addError($throwable->getMessage());
} }