28 lines
656 B
PHP
28 lines
656 B
PHP
<?php
|
|
|
|
namespace app\api\job;
|
|
|
|
use think\queue\Job;
|
|
use think\Log;
|
|
|
|
class FetchExperts
|
|
{
|
|
public function fire(Job $job, $data)
|
|
{
|
|
try {
|
|
$finder = new \app\api\controller\ExpertFinder();
|
|
$result = $finder->doFetchForField(
|
|
$data['field'],
|
|
$data['source'] ?? 'pubmed',
|
|
$data['per_page'] ?? 100,
|
|
$data['min_year'] ?? null
|
|
);
|
|
Log::info('FetchExperts completed: ' . json_encode($result));
|
|
} catch (\Exception $e) {
|
|
Log::error('FetchExperts failed: ' . $e->getMessage());
|
|
}
|
|
|
|
$job->delete();
|
|
}
|
|
}
|