那么请问如何从队列中删除指定的任务?
回复内容:加入了一个定时任务到队列中.因为某些原因,不需要执行这个任务了.
那么请问如何从队列中删除指定的任务?
完整流程比較複雜且冗長,我就直接就重點講了,基本上在加入 queue 時會進行一系列處理,那其中就會執行到這段:
callqueuedhandler
protected function setjobinstanceifnecessary(job $job, $instance) { // class_uses_recursive 可以取得類所使用到的 trait if (in_array('illuminate\queue\interactswithqueue', class_uses_recursive(get_class($instance)))) { // 所以假如類有 use illuminate\queue\interactswithqueue // 就呼叫 setjob($job) $instance->setjob($job); } return $instance; }
而 setjob 則是 interactswithqueue 的方法,單純的賦值
interactswithqueue
public function setjob(jobcontract $job) { $this->job = $job; return $this; }