closure = $closure; } /** * Create a new job instance. * * @param \Closure $job * @return self */ public static function create(Closure $job) { return new self(new SerializableClosure($job)); } /** * Execute the job. * * @param \Illuminate\Contracts\Container\Container $container * @return void */ public function handle(Container $container) { $container->call($this->closure->getClosure()); } /** * Get the display name for the queued job. * * @return string */ public function displayName() { $reflection = new ReflectionFunction($this->closure->getClosure()); return 'Closure ('.basename($reflection->getFileName()).':'.$reflection->getStartLine().')'; } }