|
- <?php
-
- namespace App\Jobs;
-
- use Illuminate\Bus\Queueable;
- use Illuminate\Contracts\Queue\ShouldQueue;
- use Illuminate\Foundation\Bus\Dispatchable;
- use Illuminate\Queue\InteractsWithQueue;
- use Illuminate\Queue\SerializesModels;
- use Illuminate\Support\Facades\Log;
-
- abstract class BaseJob implements ShouldQueue
- {
- use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
-
- public function handle()
- {
- $this->logConfig();
- $this->handleJob();
- }
-
- /**
- * ジョブを再試行する前に待機する秒数を計算
- */
- public function backoff(): int
- {
- return 5;
- }
-
- abstract protected function handleJob();
-
- private function logConfig()
- {
- Log::withContext([
- '__job_class__' => staitc::class,
- ]);
- }
- }
|