对我来说,它们似乎非常相似:
- 两者都实现了
ShouldQueue
接口(在事件侦听器的情况下,这是一个选项) - 都实现了
handle()
和failed()
(可选)方法来执行各自的任务。
到目前为止,我能够区分的是,作业具有更多“高级”功能/配置,例如
$timeout
, $tries
属性,您还可以延迟作业的“触发”(由Illuminate\Bus\Queueable
特性提供)。我确信还有更多,但我指出了我注意到的一个问题。
因此,问题是,两者之间的实际区别是什么,更重要的是,何时使用哪种方法?