Job در نرمافزار معمولاً واحدی از کار است که میتواند مستقل، زمانبندیشده یا در صف اجرا شود. در لاراول Job اغلب کلاسی است که منطق یک عملیات پسزمینه مانند تولید فاکتور را در متد handle دارد. در Celery پایتون به Task و در برخی پلتفرمهای دیگر به Background Job گفته میشود.
نمونه Laravel Job
php artisan make:job GenerateInvoice
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Queue\Queueable;
class GenerateInvoice implements ShouldQueue {
use Queueable;
public function __construct(public int $orderId) {}
public function handle(): void {
// Use orderId to generate the invoice
}
}
اگر Job با ShouldQueue تعریف شده باشد، استفاده از اتصال صف غیر Sync و اجرای Worker لازم است. Jobهای تکراری باید برای حالت Retry طراحی شوند.
اصطلاحات مرتبط: صف، ورکر، لسنر، آیدمپوتنسی، صف پیامهای ناموفق.