我正在尝试从其他代码库触发作业
MyCommand 类:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Foundation\Bus\DispatchesJobs;
use App\Jobs\MyJob;
class EncodeTvVideos extends Command
{
use DispatchesJobs;
protected $signature = 'command:my';
protected $description = '';
public function handle()
{
$job = (new MyJob($this->argument()))
->onConnection('beanstalkd')
->onQueue('cron-default'));
$this->dispatch($job);
}
}
和 MyJob 类:
<?php namespace App\Jobs;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class MyJob extends Job implements ShouldQueue
{
use InteractsWithQueue, SerializesModels;
private $payload;
public function __construct($payload = null)
{
$this->payload = $payload;
}
public function handle()
{
echo "Job processed here";
$this->job->delete();
}
}
我正在使用 queue:listen 命令来监听我的队列
php artisan queue:listen --queue=cron-default
如果我运行命令(在一些代码库中)命令:我得到这样的有效负载,任何处理成功。
{
"job":"Illuminate\\\\Queue\\\\CallQueuedHandler@call",
"data":{
"command":"O:29:\\"Acme\\Jobs\\FooJob\\":4:{s:11:\\"fooBar\\";s:7:\\"abc-123\\";s:5:\\"queue\\";N;s:5:\\"delay\\";N;s:6:\\"\\u0000*\\u0000job\\";N;}"
}
}
现在我的问题是我需要从其他代码库触发此作业或命令有什么办法吗?
我没有(commands/workers 项目)的域名,否则我可以尝试创建一条将触发命令的路由。