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

namespace IlluminateQueue;

use 
IlluminateContractsQueueJob;
use 
IlluminateContractsBusDispatcher;

class 
CallQueuedHandler
{
    
/**
     * The bus dispatcher implementation.
     *
     * @var IlluminateContractsBusDispatcher
     */
    
protected $dispatcher;

    
/**
     * Create a new handler instance.
     *
     * @param  IlluminateContractsBusDispatcher  $dispatcher
     * @return void
     */
    
public function __construct(Dispatcher $dispatcher)
    {
        
$this->dispatcher $dispatcher;
    }

    
/**
     * Handle the queued job.
     *
     * @param  IlluminateContractsQueueJob  $job
     * @param  array  $data
     * @return void
     */
    
public function call(Job $job, array $data)
    {
        
$command $this->setJobInstanceIfNecessary(
            
$jobunserialize($data['command'])
        );

        
$this->dispatcher->dispatchNow($command);

        if (! 
$job->isDeletedOrReleased()) {
            
$job->delete();
        }
    }

    
/**
     * Set the job instance of the given class if necessary.
     *
     * @param  IlluminateContractsQueueJob  $job
     * @param  mixed  $instance
     * @return mixed
     */
    
protected function setJobInstanceIfNecessary(Job $job$instance)
    {
        if (
in_array('IlluminateQueueInteractsWithQueue'class_uses_recursive(get_class($instance)))) {
            
$instance->setJob($job);
        }

        return 
$instance;
    }

    
/**
     * Call the failed method on the job instance.
     *
     * @param  array  $data
     * @return void
     */
    
public function failed(array $data)
    {
        
$command unserialize($data['command']);

        if (
method_exists($command'failed')) {
            
$command->failed();
        }
    }
}
Онлайн: 0
Реклама