|
...
|
...
|
@@ -5,8 +5,12 @@ |
|
|
|
* Date: 2024/02/26
|
|
|
|
* Time: 10:13
|
|
|
|
*/
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
namespace App\Console\Commands\KeywordInVideo;
|
|
|
|
|
|
|
|
use App\Console\Commands\Model;
|
|
|
|
use App\Console\Commands\TaskSub;
|
|
|
|
use App\Models\Com\KeywordVideoTask;
|
|
|
|
use App\Models\Com\KeywordVideoTaskLog;
|
|
|
|
use App\Models\Product\Keyword;
|
|
|
|
use App\Services\ProjectServer;
|
|
|
|
use Illuminate\Console\Command;
|
|
...
|
...
|
@@ -20,7 +24,7 @@ class VideoTask extends Command |
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $signature = 'VideoTask';
|
|
|
|
protected $signature = 'video_task';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The console command description.
|
|
...
|
...
|
@@ -65,40 +69,39 @@ class VideoTask extends Command |
|
|
|
{
|
|
|
|
$sub_task_num = $this->max_sub_task;
|
|
|
|
while (true) {
|
|
|
|
if ($sub_task_num <= 0)
|
|
|
|
if ($sub_task_num <= 0){
|
|
|
|
break;
|
|
|
|
|
|
|
|
$task_project = Model::where(['status' => Model::STATUS_OPEN])->orderBy('sort', 'desc')->first();
|
|
|
|
if (empty($task_project))
|
|
|
|
}
|
|
|
|
$task_project = KeywordVideoTask::where(['status' => KeywordVideoTask::STATUS_OPEN])->orderBy('sort', 'desc')->first();
|
|
|
|
if (empty($task_project)){
|
|
|
|
break;
|
|
|
|
|
|
|
|
$project = ProjectServer::useProject($task_project->project_id);
|
|
|
|
}
|
|
|
|
ProjectServer::useProject($task_project->project_id);
|
|
|
|
$keyword = $this->getProjectKeyword();
|
|
|
|
// 已经没有需要生成视频的关键词
|
|
|
|
if (FALSE == $keyword->isEmpty()) {
|
|
|
|
$task_project->status = Model::STATUS_CLOSE;
|
|
|
|
$task_project->status = KeywordVideoTask::STATUS_CLOSE;
|
|
|
|
$task_project->save();
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
foreach ($keyword as $val) {
|
|
|
|
$log = TaskSub::where(['project_id' => $task_project->project_id, 'keyword_id' => $val->id])->first();
|
|
|
|
if ($log)
|
|
|
|
$log = KeywordVideoTaskLog::where(['project_id' => $task_project->project_id, 'keyword_id' => $val->id])->first();
|
|
|
|
if ($log){
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
$array = [
|
|
|
|
'project_id' => $task_project->project_id,
|
|
|
|
'keyword_id' => $val->id,
|
|
|
|
'keyword' => $val->title,
|
|
|
|
'data' => json_encode(['url' => '', 'description' => '', 'images' => [], 'keywords' => []]),
|
|
|
|
'status' => TaskSub::STATUS_INIT,
|
|
|
|
'status' => KeywordVideoTaskLog::STATUS_INIT,
|
|
|
|
'updated_at' => date('Y-m-d H:i:s'),
|
|
|
|
'created_at' => date('Y-m-d H:i:s'),
|
|
|
|
];
|
|
|
|
TaskSub::insert($array);
|
|
|
|
KeywordVideoTaskLog::insert($array);
|
|
|
|
$sub_task_num--;
|
|
|
|
}
|
|
|
|
$task_project->status = Model::STATUS_CLOSE;
|
|
|
|
$task_project->status = KeywordVideoTask::STATUS_CLOSE;
|
|
|
|
$task_project->save();
|
|
|
|
}
|
|
|
|
return true;
|
|
...
|
...
|
@@ -110,7 +113,7 @@ class VideoTask extends Command |
|
|
|
*/
|
|
|
|
public function sendSubTask()
|
|
|
|
{
|
|
|
|
$subTask = TaskSub::where(['status' => TaskSub::STATUS_INIT])->orderBy('id', 'asc')->limit($this->max_sub_task)->get();
|
|
|
|
$subTask = KeywordVideoTaskLog::where(['status' => TaskSub::STATUS_INIT])->orderBy('id', 'asc')->limit($this->max_sub_task)->get();
|
|
|
|
if ($subTask->isEmpty())
|
|
|
|
return true;
|
|
|
|
foreach ($subTask as $val) {
|
|
...
|
...
|
@@ -129,7 +132,7 @@ class VideoTask extends Command |
|
|
|
$result = Http::post('http://216.250.255.116:7866/create_task', $data);
|
|
|
|
|
|
|
|
$val->task_id = $task_id;
|
|
|
|
$val->status = TaskSub::STATUS_RUNING;
|
|
|
|
$val->status = STATUS_RUNING::STATUS_RUNING;
|
|
|
|
$val->request_result = $result;
|
|
|
|
$val->save();
|
|
|
|
}
|
...
|
...
|
|