call(function () { $category = Category::where('country_locale_slug','my')->where('name','Technology')->first(); if (!is_null($category)) { $task = $category->country_locale_slug . "-" . $category->slug; $nextRun = DailyTaskSchedule::where('task', $task)->first(); if (!is_null($nextRun)) { $currentTime = now(); if ($currentTime->equalTo($nextRun->next_run_time)) { $shopee_seller_category = ShopeeSellerCategory::where('category_id', $category->id)->where(function($query) { $query->whereNull('last_ai_written_at') ->orWhere('last_ai_written_at', '=', ShopeeSellerCategory::whereNotNull('last_ai_written_at')->orderBy('last_ai_written_at', 'asc')->value('last_ai_written_at')); })->first(); $task = ShopeeSellerTopProductScraperJob::dispatch($shopee_seller_category->seller, $category->country_locale->country_iso, $category) ->onQueue('default') ->onConnection('default'); // Update the next random run time for the following day using Eloquent $nextRun->next_run_time = now()->addMinutes(rand(1200, 1440)); $nextRun->save(); } } else { $nextRun = new DailyTaskSchedule; $nextRun->task = 'my-technology'; $nextRun->next_run_time = now()->addMinutes(rand(0, 1440)); $nextRun->save(); } } })->everyMinute(); } /** * Register the commands for the application. */ protected function commands(): void { $this->load(__DIR__.'/Commands'); require base_path('routes/console.php'); } }