У меня в основном есть система, которая теоретически является просто ботом, мне нужно запускать ее на многопоточности (да, я знаю, это PHP, что не совсем возможно) или где-то по-другому, чтобы иметь возможность запускать команду на основе параллельных командна красноречивом результате.
В настоящее время моя система выглядит примерно так:
Это мой Kernel.php
protected $commands = [
Commands\RunBuy::class
]
protected function schedule(Schedule $schedule)
{
$schedule->command('buy:cron')->everyMinute();
}
Это мой RunBuy.php
public function __construct() {
parent::__construct();
}
public function handle() {
$this->bot = Bots::where('status', '1')->where('in_use', '0')->first();
.......
}
Мне нужна та же возможность, но я могу управлять несколькими Bots
в зависимости от того, сколько у них строк?то, что я хотел бы сделать, это примерно так:
protected function schedule(Schedule $schedule)
{
foreach(Bots::where('status', '1')->where('in_use', '0')->get() as $bot) {
$schedule->command('buy:cron '.$bot->id)->everyMinute();
}
}
И затем обработать это внутри RunBuy.php примерно так:
protected $signature = 'buy:cron {bot_id : The Bot ID we must perform actions with}';
public function __construct() {
parent::__construct();
}
public function handle() {
$bot_id = $this->argument('bot_id');
$this->bot = Bots::find($bot_id);
.......
}
Но что-то подобное не будет работать, так как Laravel обрабатывает каждую команду одну за другой?Мне нужно, чтобы все они одновременно сработали.