任务 本文未发布 发布文章
定义
任务:
- 是简单的类,可以做一件事或多个相关的事情。
- 任务是一个类,该类通常被创建到队列中(他是被定义稍后在执行,执行后会标记完成)。
- 任务可以通过队列机制(如beanstalkd之类的队列系统)计划在稍后执行。
- 当一个任务类被分派时,它执行它的特定作业并标记死亡。
- Laravel的队列工作人员将处理推送到队列上的每个作业。
更多信息点 here.
原则
- 一个容器可能有多个作业。
规则
- 所有必须集成
App\Ship\Parents\Jobs\Job
文件结构.
- app
- Containers
- {container-name}
- Jobs
- DoSomethingJob.php
- DoSomethingElseJob.php
代码事例
CreateAndValidateAddress 第三方的任务:
<?php
namespace App\Containers\Shipment\Jobs;
use App\Port\Job\Abstracts\Job;
class CreateAndValidateAddressJob extends Job
{
private $recipients;
public function __construct(array $recipients)
{
$this->recipients = $recipients;
}
public function handle()
{
foreach ($this->recipients as $recipient) {
// do whatever you like
}
}
}
检查父级任务了。
在Action中调用:
<?php
// 使用助手函数
dispatch(new CreateAndValidateAddressJob($recipients));
// 手动调用
App::make(\Illuminate\Contracts\Bus\Dispatcher\Dispatcher::class)->dispatch(New StatusChangedJob($object));
执行任务执行
为了运行你的任务请检出任务队列
推荐文章: