onQueue('traffic_fetch'); $this->server = $server; $this->data = $data; $this->protocol = $protocol; $this->timestamp = $timestamp; } public function handle(): void { $userIds = array_keys($this->data); foreach ($this->data as $uid => $v) { User::where('id', $uid) ->incrementEach( [ 'u' => $v[0] * $this->server['rate'], 'd' => $v[1] * $this->server['rate'], ], ['t' => time()] ); } if (!empty($userIds)) { Redis::sadd('traffic:pending_check', ...$userIds); } } }