search($settings->search_params)->map(function (NamiMemberEntry $member) use ($api) { return FullMemberAction::makeJob($api, $member->groupId, $member->id, 'members'); })->toArray(); Bus::batch($jobs) ->finally(function () { /** @var array */ $members = array_map(fn ($member) => FullMember::from(json_decode($member, true)), Redis::lrange('members', 0, -1)); foreach ($members as $data) { InsertFullMemberAction::dispatch($data); } }) ->onQueue('long') ->allowFailures() ->dispatch(); } public function asCommand(): int { $this->handle(app(NamiSettings::class)->login()); return 0; } }