Я пытаюсь передать данные с моего контроллера на мое задание, но данные не поступают в задание.
Вот код контроллера:
$nodeName = $request->ticker.'-'.Str::random(10);
$url_wallet = $request->url_wallet;
$wallet_filename = $request->wallet_filename;
$masternodeport = $request->masternode_port;
$rpcport = $request->rpc_port;
$deamon_name = $request->deamon_name;
$root_folder = $request->root_folder;
$wallet_conf = $request->wallet_conf;
CreateCoinImage::dispatch($nodeName, $url_wallet, $wallet_filename, $masternodeport, $rpcport, $deamon_name, $root_folder, $wallet_conf)
->delay(now()->addSeconds(5));
Код задания:
protected $nodeName;
protected $url_wallet;
protected $wallet_filename;
protected $masternodeport;
protected $rpcport;
protected $deamon_name;
protected $root_folder;
protected $wallet_conf;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($nodeName, $url_wallet, $wallet_filename, $masternodeport, $rpcport, $deamon_name, $root_folder, $wallet_conf)
{
$this->nodeName = $nodeName;
$this->url_wallet = $url_wallet;
$this->wallet_filename = $wallet_filename;
$this->masternodeport = $masternodeport;
$this->rpcport = $rpcport;
$this->deamon_name = $deamon_name;
$this->root_folder = $root_folder;
$this->wallet_conf = $wallet_conf;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
// //deploy image
$nodeName = $this->nodeName;
$url_wallet = $this->url_wallet;
$wallet_filename = $this->wallet_filename;
$masternodeport = $this->masternodeport;
$rpcport = $this->rpcport;
$deamon_name = $this->deamon_name;
$root_folder = $this->root_folder;
$wallet_conf = $this->wallet_conf;
SSH::into('production')->run([
'docker run --expose '.$masternodeport.' --expose '.$rpcport.' --name '.$nodeName.' -i coinimage:latest bash',
]);
SSH::into('production')->run([
'docker exec -i '.$nodeName.' wget '.$url_wallet,
]);
SSH::into('production')->run([
'docker exec -i '.$nodeName.' mv '.$wallet_filename.' /usr/local/bin',
]);
SSH::into('production')->run([
'docker exec -i '.$nodeName.' bash -c "cd /usr/local/bin/ && tar -zxvf '.$wallet_filename.'"',
]);
SSH::into('production')->run([
'docker exec -i '.$nodeName.' bash -c "cd /usr/local/bin/ && rm rf '.$wallet_filename.'"',
]);
SSH::into('production')->run([
'docker exec -i -d '.$nodeName.' '.$deamon_name,
]);
SSH::into('production')->run([
'docker exec -i '.$nodeName.' bash -c "cd /root/.'.$root_folder.'/ && echo "listen=0" >> '.$wallet_conf.'"',
]);
SSH::into('production')->run([
'docker exec -i -d '.$nodeName.' '.$deamon_name,
]);
Может ли кто-нибудь помочь мне получить это исправление?
Вывод, который я получаю:
[root@xxx] (производство) docker: недопустимый формат диапазона для --expose: --expose, ошибка: strconv.ParseUint: синтаксический анализ "": неверный синтаксис. Смотрите 'docker run --help'.
[root@xxx] (производство) неизвестный сокращенный флаг: '7' в -7YupVERciu Смотрите 'docker exe c --help'.
Этот код отлично работает в контроллере