orderBy('serp_at', 'asc') ->first(); $news_serp_result = GetNewsSerpTask::handle($category, 'US'); if (is_null($news_serp_result)) { Log::error(json_encode($category->toArray())); throw Exception('Failed to execute GetNewsSerpTask'); } // We only take 1 record at a time if (ParseNewsSerpDomainsTask::handle($news_serp_result)) { $serp_url = SerpUrl::latest()->first(); if (is_null($serp_url)) { Log::error(json_encode($serp_url->toArray())); throw Exception('Failed to execute ParseNewsSerpDomainsTask'); } GenerateArticleJob::dispatch($serp_url)->onQueue('default')->onConnection('default'); } } }