Laravel Контроллер не передает данные в очереди - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь передать данные с моего контроллера на мое задание, но данные не поступают в задание.

Вот код контроллера:

    $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'.

Этот код отлично работает в контроллере

1 Ответ

0 голосов
/ 20 февраля 2020

Это очень странно, я просто попробую еще раз, и это работает, я ничего не изменил в коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...