Cron a přesměrování, aneb jak na procesy v pozadí
Provádíte nějakou operaci volanou cronem? A potřebujete se přesměrovat na jiný skript, popřípadě spustit nějaký skript v pozadí? Je tu snadné řešení, opět cURL.
Téměř vše k tomuto tématu bylo řečeno v úvodu. Pokud spouštíte skript cronem, pochopitelně odeslání hlavičky header s novou location pro přesměrování na jiný skript je marné. Tomu rozumí jen prohlížeč a ten v případě volání cron démonem neběží.
Pomocí cURLu zavoláme skript v pozadí, čímž nahradíme přesměrování. Tady je však potřeba vypnout uživatelské zastavení běhu skriptu funkcí ignore_user_abort(), je to vlastnost která zastaví skript v případě, že uživatel uzavře prohlížeč nebo tlačítkem stop zastaví další běh skriptu.
Celý skript, by pak mohl vypadat následovně.
- ignore_user_abort();
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_exec($ch);
- curl_close($ch);
podobné články
komentáře
RSS Komentáře


