作者 赵彬吉

update

... ... @@ -36,7 +36,11 @@ class UpdateSeoTdkCrontab extends Command
{
$project_ids = Project::where('type', Project::TYPE_TWO)->pluck('id')->toArray();
foreach ($project_ids as $project_id){
try {
ProjectUpdateTdk::add_task($project_id);
}catch (\Exception $e){
}
}
}
... ...
... ... @@ -43,7 +43,7 @@ class Kernel extends ConsoleKernel
$schedule->command('domain_info')->dailyAt('01:20')->withoutOverlapping(1);// 更新域名|证书结束时间,每天凌晨1点执行一次
$schedule->command('last_inquiry')->dailyAt('04:00')->withoutOverlapping(1);// 最近一次询盘信息
// $schedule->command('update_progress')->everyThirtyMinutes()->withoutOverlapping(1);//监控更新
$schedule->command('update_seo_tdk_crontab')->dailyAt('00:00')->withoutOverlapping(1); //更新上线项目TDK
$schedule->command('update_seo_tdk_crontab')->dailyAt('20:00')->withoutOverlapping(1); //更新上线项目TDK
// $schedule->command('website_data')->dailyAt('01:00')->withoutOverlapping(1); // 向AICC推送数据
// $schedule->command('project_file_pdf')->dailyAt('00:00')->withoutOverlapping(1); // 网站项目数据,生成PDF文件
$schedule->command('sync_manager')->dailyAt('01:00')->withoutOverlapping(1); //TODO::手机号码同步 每天执行一次
... ...
... ... @@ -40,7 +40,11 @@ class UpdateController extends BaseController
], [
'project_id.required' => 'project_id不能为空',
]);
try {
ProjectUpdateTdk::add_task($this->param['project_id']);
}catch (\Exception $e){
$this->fail($e->getMessage());
}
$this->response('任务添加成功');
}
... ...
... ... @@ -27,14 +27,20 @@ class ProjectUpdateTdk extends Base
/**
* 新建任务
* @param $project_id
* @throws \Exception
* @author zbj
* @date 2023/11/9
*/
public static function add_task($project_id){
Redis::lpush('updateSeoTdk', $project_id);
$task = self::where('project_id', $project_id)->where('status', self::STATUS_PENDING)->first();
if($task){
throw new \Exception('该项目有未执行的任务,请勿重复添加');
}
$model = new self();
$model->project_id = $project_id;
$model->save();
Redis::lpush('updateSeoTdk', $project_id);
}
/**
... ... @@ -114,6 +120,8 @@ class ProjectUpdateTdk extends Base
$data->save();
self::where('project_id', $data['project_id'])->where('status', self::STATUS_PENDING)->update(['status' => self::STATUS_SUCCESS]);
DB::commit();
} catch (\Exception $e) {
DB::rollback();
... ...