47 lines
1.4 KiB
PHP
47 lines
1.4 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | CatchAdmin [Just Like ~ ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2017~2020 http://catchadmin.com All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Licensed ( https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt )
|
||
// +----------------------------------------------------------------------
|
||
// | Author: JaguarJack [ njphper@gmail.com ]
|
||
// +----------------------------------------------------------------------
|
||
namespace catchAdmin\monitor\command\process;
|
||
|
||
use catcher\facade\FileSystem;
|
||
use think\exception\ClassNotFoundException;
|
||
use think\helper\Str;
|
||
|
||
trait ParseTask
|
||
{
|
||
/**
|
||
* 获取任务
|
||
*
|
||
* @time 2020年09月15日
|
||
* @param $crontab
|
||
* @return mixed
|
||
*/
|
||
protected function getTaskObject($crontab)
|
||
{
|
||
$class = $this->getTaskNamespace() . ucfirst(Str::camel($crontab['task']));
|
||
|
||
if (class_exists($class)) {
|
||
return app()->make($class)->setCrontab($crontab);
|
||
}
|
||
|
||
throw new ClassNotFoundException('Task '. $crontab['task'] . ' not found');
|
||
}
|
||
|
||
/**
|
||
* 获取任务命名空间
|
||
*
|
||
* @time 2020年09月15日
|
||
* @return mixed
|
||
*/
|
||
protected function getTaskNamespace()
|
||
{
|
||
return config('catch.crontab.task_namespace');
|
||
}
|
||
} |