diff --git a/System/Abstracts/Crontab.php b/System/Abstracts/Crontab.php index 435cd31b..8fca60f4 100644 --- a/System/Abstracts/Crontab.php +++ b/System/Abstracts/Crontab.php @@ -38,7 +38,9 @@ class Crontab extends Component $redis = Snowflake::app()->getRedis(); $data = $redis->zRevRange('system:crontab', 0, -1); - + if (empty($data)) { + return; + } foreach ($data as $datum) { /** @var \Snowflake\Crontab $crontab */ $crontab = unserialize($datum); @@ -57,7 +59,7 @@ class Crontab extends Component { $redis = Snowflake::app()->getRedis(); - $redis->zRemRangeByRank('system:crontab', '0', '-1'); + $redis->del('system:crontab'); } diff --git a/System/Process/CrontabProcess.php b/System/Process/CrontabProcess.php index d4e17de7..6fe14a2d 100644 --- a/System/Process/CrontabProcess.php +++ b/System/Process/CrontabProcess.php @@ -69,6 +69,11 @@ class CrontabProcess extends Process $lists = $redis->zRangeByScore('system:crontab', '0', (string)$score); $redis->zRemRangeByScore('system:crontab', '0', (string)$score); + if (empty($lists)) { + $redis->release(); + return; + } + $barrier = Barrier::make(); foreach ($lists as $list) { $list = unserialize($list);