ProcessActiveSkillsJob.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace App\Module\Pet\Jobs;
  3. use App\Module\Pet\Services\PetActiveSkillService;
  4. use Illuminate\Support\Facades\Log;
  5. use UCore\Queue\QueueJob;
  6. /**
  7. * 处理宠物激活技能的定时任务
  8. *
  9. * 每分钟执行一次,检查所有激活中的宠物技能并执行相应操作
  10. */
  11. class ProcessActiveSkillsJob extends QueueJob
  12. {
  13. /**
  14. * 任务超时时间(秒)
  15. *
  16. * @var int
  17. */
  18. public $timeout = 300; // 5分钟
  19. /**
  20. * 最大重试次数
  21. *
  22. * @var int
  23. */
  24. public $tries = 3;
  25. /**
  26. * 执行任务
  27. *
  28. * @return bool
  29. */
  30. public function run(): bool
  31. {
  32. try {
  33. // 调用服务层处理激活技能
  34. $result = PetActiveSkillService::processActiveSkills(100);
  35. return true;
  36. } catch (\Exception $e) {
  37. Log::error('宠物激活技能定时任务执行失败', [
  38. 'error' => $e->getMessage(),
  39. 'trace' => $e->getTraceAsString()
  40. ]);
  41. throw $e;
  42. }
  43. }
  44. /**
  45. * 获取任务载荷
  46. *
  47. * @return array
  48. */
  49. public function payload(): array
  50. {
  51. return [];
  52. }
  53. }