nodes = $nodes; $data = []; foreach (User::findMany($userIds) as $user) { $data[] = [ 'uid' => $user->id, 'port' => $user->port, 'passwd' => $user->passwd, 'speed_limit' => $user->speed_limit, 'enable' => $user->enable, ]; } $this->data = $data; } public function handle(): void { foreach ($this->nodes as $node) { $this->send(($node->server ?: $node->ip).':'.$node->push_port, $node->auth->secret); } } private function send($host, $secret): void { $client = new Client([ 'base_uri' => $host, 'timeout' => 15, 'headers' => ['secret' => $secret], ]); $client->post('api/v2/user/add/list', ['json' => $this->data]); } }