Bir php cron işi Koşu - yürütme zaman sorun

2 Cevap php

Ben o sunucuda depolanan ve diğer web sitelerinde görüntülenen ondan bir görüntü oluşturmak Curl kullanarak bir siteden veri indirmek bir site var.

Ben her şeyin bir cron işi dışında, mükemmel bir çalışma var ettik.

Ben bu komut dosyasını çalıştırın zaman bu hala yeterli değil (daha 2-3 dakika gibi, bu GoDaddy barındırılan olsa fazla 30 secs var) bir süre sonra durur. Ben multi-thread kıvrılıp denedim ama hala ben verilen ediyorum daha fazla zaman alır.

Şimdiye kadar benim için çözüm manuel (ben güncellemek için yaklaşık 12000 öğeleri var) limiti belirleyerek bunu güncellenmesi ve ofset tarayıcıda her gün 20 sayfa gibi yeniden yapıldı. Bu Tahmin edebileceğiniz gibi çok can sıkıcı.

500 gibi öğeler vb ben 0:01 çalışan, çeşitli cron işleri yapıyor düşünebilirsiniz tek çözüm, 00:02, her. Ama ben GoDaddy üzerinde birçok cron işleri çalıştırabilirsiniz emin değilim.

Herkes bana bu konuda bir tavsiye verebilir?

Teşekkürler

2 Cevap

Eğer set_time_limit function yardımcı olacağını, 0 zaman sınırı ayarlamak gerekir.

kod parçacığı:

set_time_limit(0);

Ben size kontrol etmelisiniz GoDaddy üzerinde yapmak için izin emin değilim. Onlar güvenli modda çalışan eğer buna erişemez ve bu durum olabilir.

Belgeler devlet ki:

Bu işlev, PHP güvenli modda çalışan hiçbir etkisi yoktur. Güvenli modunu kapatmak veya php.ini içinde zaman sınırı dışında değişen hiçbir çözüm yoktur.

Sen gibi görünüyor safe

Do you run PHP in safe mode on your Linux hosting servers? No, we do not run PHP in safe mode on our Linux hosting servers. For more information on safe mode, please visit www.php.net.

Cron sadece senaryoyu başlaması gerekir. Bir görüntü oluşturulan oluyor sonra daha bir kaç saniye için çalışır asla öyle Komut daha sonra kendisini arayabilirsiniz. Bunu işlemek hangi sayfa, onu anlatan bir parametre geçmek gerekir. Seni işlemek için sayfaların listesini saklamak nasıl emin değilim. Basit bunu her geçişte artan bir sayı parametre geçmek olacaktır. Numarası listede nth sayfasını işlemek için söyler.

Bu hızlandırmak için birçok yol vardır. Örneğin, 5 yıllara göre artan. Senaryonun ilk çağrı hiçbir parametre olurdu, bu yüzden 1 parametreleri, 2, 3, 4, 5 ile 5 kez "kendisi" diyoruz. Bu parametre +5 bulunuyor ile birlikte 5 komut her biri daha sonra kendini tekrar arayın.

O dedi, sen çok kıvrılma ile çok hızlı bir şekilde istekleri yüzlerce işlemek gerekir. Yapmak için bu oldukça kolay açık kaynak kodlu DİNLENME istemci kütüphaneleri vardır.