「execute:tasks」職人コマンドを作成して、タスクを実行する必要があるときはいつでもデータベースをポーリングできるようにします。次の方法で実行できるはずです。
php artisan execute:tasks
コマンドは、コントローラー アクション (またはクラス メソッド) を呼び出して、データベースをポーリングし、実行可能なタスクがあるかどうかを確認します。
次に、職人のコマンドを 2 分ごとに実行する cron ジョブを作成する必要があります。
*/2 * * * * php artisan execute:tasks
これはアーティザン コマンドの例です。
<?php
use Illuminate\Console\Command;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputArgument;
class ExecuteTasksCommand extends Command {
/**
* The console command name.
*
* @var string
*/
protected $name = 'execute:tasks';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Find and execute available tasks.';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return void
*/
public function fire()
{
(new ExecuteTasksClass)->findAndExecute();
}
}
このファイルに app/commands/ExecuteTasksCommand.php のような名前を付けるだけです。
そしてこれをに追加しapp\start\artisan.php
ます:
Artisan::add(new ExecuteTasksCommand);