<?php namespace Isekai\AIToolbox\Job; use Job; use MediaWiki\MediaWikiServices; use Title; class UpdateTitleIndexJob extends Job { public function __construct(Title $title) { parent::__construct('isekaiAIUpdateTitleIndex', $title); } /** * 触发AI后端更新标题索引 */ public function run() { $services = MediaWikiServices::getInstance(); $config = $services->getMainConfig(); $endpoint = $config->get('IsekaiAIBackendEndpoint'); $authToken = $config->get('IsekaiAIToolboxToken'); $title = $this->title; $pageTitle = $title->getText(); $factory = MediaWikiServices::getInstance()->getHttpRequestFactory(); $req = $factory->create($endpoint . '/sys/embedding_search/title/update', [ 'method' => 'POST', 'postData' => [ 'title' => $pageTitle ], 'timeout' => 20 ], __METHOD__); $req->setHeader('Authorization', 'Bearer ' . $authToken); $status = \Status::wrap($req->execute()); if(!$status->isOK()){ $this->setLastError($status->getMessage()); return false; } return true; } }