$config) { if (empty($config['base_url'])) { continue; } $baseUrl = rtrim($config['base_url'], '/'); $key = $config['key'] ?? ''; $stagger = (int) ($config['stagger_seconds'] ?? 0); $offset = (int) ($config['offset_seconds'] ?? 0); if ($offset > 0) { usleep($offset * 1_000_000); } foreach ($config['endpoints'] ?? [] as $i => $endpoint) { if ($i > 0 && $stagger > 0) { usleep($stagger * 1_000_000); } $url = $baseUrl.$endpoint.'?key='.$key; try { Http::timeout(30)->get($url); } catch (\Throwable $e) { logger()->warning("Cron trigger failed for {$product}{$endpoint}: {$e->getMessage()}"); } } } } }