Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Queue/Jobs/InspectedJob.php
Строк: 73
<?php

namespace IlluminateQueueJobs;

use 
IlluminateSupportCarbon;

class 
InspectedJob
{
    
/**
     * Create a new inspected job instance.
     *
     * @param  string|null  $uuid  The unique identifier for the job.
     * @param  string|null  $queue  The name of the queue the job is on.
     * @param  string|null  $name  The display name of the job.
     * @param  int  $attempts  The number of times the job has been attempted.
     * @param  array  $payload
     * @param  IlluminateSupportCarbon|null  $createdAt  The date and time the job was created.
     */
    
public function __construct(
        public 
readonly ?string $uuid,
        public 
readonly ?string $queue,
        public 
readonly ?string $name,
        public 
readonly int $attempts,
        public 
readonly array $payload = [],
        public 
readonly ?Carbon $createdAt = null,
    ) {
    }

    
/**
     * Create a new instance from a raw job payload.
     *
     * @param  string  $payload  The raw JSON job payload.
     * @param  int|null  $attempts  The number of times the job has been attempted.
     * @param  string|null  $queue  The name of the queue the job is on.
     * @return static
     */
    
public static function fromPayload(string $payload, ?int $attempts = null, ?string $queue = null): static
    {
        
$decoded = json_decode($payload, true);

        return new static(
            
uuid: $decoded['uuid'] ?? null,
            
queue: $queue,
            
name: $decoded['displayName'] ?? null,
            
attempts: $attempts ?? $decoded['attempts'] ?? 0,
            
payload: $decoded,
            
createdAt: isset($decoded['createdAt']) ? Carbon::createFromTimestamp($decoded['createdAt']) : null,
        );
    }
}
Онлайн: 3
Реклама