大更新,1投稿系统参考文献的类型增加功能,,,2官网数据库功能
This commit is contained in:
37
application/api/job/dbpush.php
Normal file
37
application/api/job/dbpush.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace app\api\job;
|
||||
|
||||
use think\queue\Job;
|
||||
use app\master\service\DbPushManager;
|
||||
|
||||
/**
|
||||
* 数据库收录推送 - 异步队列任务
|
||||
* 队列名:dbpush
|
||||
*/
|
||||
class dbpush
|
||||
{
|
||||
public function handle(Job $job, $data)
|
||||
{
|
||||
$manager = new DbPushManager();
|
||||
$ok = $manager->executeAndLog(
|
||||
$data['log_id'],
|
||||
$data['stage_id'],
|
||||
$data['pusher'],
|
||||
isset($data['options']) ? $data['options'] : []
|
||||
);
|
||||
|
||||
if ($ok) {
|
||||
$job->delete();
|
||||
return;
|
||||
}
|
||||
|
||||
// 失败重试
|
||||
$max = (int) config('dbpush.max_attempt');
|
||||
if ($job->attempts() >= $max) {
|
||||
$job->delete();
|
||||
} else {
|
||||
$job->release(30); // 30 秒后重试
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user