使用easyswoole 做定时任务crontab 任务不执行 getTaskName方法太长 不执行?
在使用easyswoole 需要使用到一些定时任务做自动化处理 代码如下:
在EasySwooleEvent.php中 注册相关的定时任务 伪代码如下:
use EasySwoole\EasySwoole\Crontab\Crontab;
use App\Crontab\RuleLocationToExpire; //定时任务的对象
public static function mainServerCreate(EventRegister $register){
//计划任务
Crontab::getInstance()->addTask(RuleLocationToExpire::class);
}
Crontab::getInstance()->addTask(RuleLocationToExpire::class);
然后创建所需要的定时任务对象 /App/Crontab/RuleLocationToExpire.php
namespace App\Crontab;
use EasySwoole\EasySwoole\Crontab\AbstractCronTask;
class RuleLocationToExpire extends AbstractCronTask {
public static function getRule(): string
{
// TODO: Implement getRule() method.
return '*/1 * * * *';
}
public static function getTaskName(): string{
// TODO: Implement getTaskName() method.
// 定时任务名称
return "这是任务名称";
}
static function run(\swoole_server $server, int $taskId, int $fromWorkerId,$flags=null)
{
echo 'liupeng14';
file_put_contents('f.txt','33'.PHP_EOL,FILE_APPEND);
}
}
当前这个代码是可以每分钟进行执行的 重点来了:当我将getTaskName() 任务名称这个定义的很长 就不执行了
public static function getTaskName(): string{
// TODO: Implement getTaskName() method.
// 定时任务名称 每个1分钟去处理规则与点位绑定任务是否过期
return "name name name name name namename name namename name name name name namename name namename name name name name namename name namename name name name name namename name namename name name name name namename name namename name name name name namename name namename name name name name namename name namename name name name name namename name namename name name name name namename name namename name name name name namename name namename name name name name namename name namename name name name name namename name namename name name name name namename name namename name name name name namename name namename name name name name namename name namename name name name name namename name name";
}
不知道是个什么坑???欢迎同行一起交流
官方的文档定义如下