[李景山php]每天laravel-20160830|CallQueuedHandler

php中文网
发布: 2016-06-20 12:25:41
原创
1077人浏览过

<?phpnamespace illuminate\events;use illuminate\contracts\queue\job;use illuminate\contracts\container\container;class callqueuedhandler{// call queued handler    /**     * the container instance.     *     * @var \illuminate\contracts\container\container     */    protected $container;// a container instance.    /**     * create a new job instance.     *     * @param  \illuminate\contracts\container\container  $container     * @return void     */    public function __construct(container $container)// this is a interface    {        $this->container = $container;// use this container that is container    }    /**     * handle the queued job.     *     * @param  \illuminate\contracts\queue\job  $job     * @param  array  $data     * @return void     */    public function call(job $job, array $data)// do some thing for this job, handle the queued job.    {// job $job is a interface , $data is a array,        $handler = $this->setjobinstanceifnecessary(// set job instance if necessary            $job, $this->container->make($data['class'])        );// this handler will be make if it necessary       // $job, $this->container to make $data class        call_user_func_array(            [$handler, $data['method']], unserialize($data['data'])        );// call_user_func_array        if (! $job->isdeletedorreleased()) {// if this job need be released or deleted            $job->delete();        }    }    /**     * set the job instance of the given class if necessary.     *     * @param  \illuminate\contracts\queue\job  $job     * @param  mixed  $instance     * @return mixed     */    protected function setjobinstanceifnecessary(job $job, $instance)    {        if (in_array('illuminate\queue\interactswithqueue', class_uses_recursive(get_class($instance)))) {            $instance->setjob($job);        }// if in the necessary array data, we will set this job.        return $instance; // return this instance    }//set the job be instance of the given class, if necessary.!    /**     * call the failed method on the job instance.     *     * @param  array  $data     * @return void     */    public function failed(array $data)    {        $handler = $this->container->make($data['class']);// make handler        if (method_exists($handler, 'failed')) {// if has this function , to use it            call_user_func_array([$handler, 'failed'], unserialize($data['data']));        }    }//call the failed method on the job instance.}
登录后复制


火山方舟
火山方舟

火山引擎一站式大模型服务平台,已接入满血版DeepSeek

火山方舟 99
查看详情 火山方舟
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号