PHP kullanarak cron işi Çıkarma / Ekleme

4 Cevap php

İşte benim durum: Biz haftada bir belirli bir zamanda bizim sunucuya her 30 saniyede bir XML dosyalarını bastırıyor olacak dışında bir sağlayıcı var. O zaman her hafta değişecektir. Yani, benim, kullanıcılara "düğmeye basın" ve veri yakalama tetikleyebilecek sitemizin yönetimi tarafında bir arayüz vermek istiyorum. (Ve aynı şekilde iş kapatmak mümkün)

Ben PHP kullanarak bunu yapmak için planladık. Ben cron işleri planlamak ve silmek benim script bazı sistem komutları çalıştırmak gerekir varsayalım.

Benim soru: bu yapmak için en iyi yolu var mı? Zamanlama ve php gelen cron işlerini silme herhangi bir tehlike var mı? Ben bu yaratıyorum gibi aklımda tutmak için ne şeyler gerekiyor?

Ayrıca, bunu gerçekleştirmek için nasıl herhangi bir işaretçiler / ipuçları bekliyoruz daha vardır. Şimdiden teşekkürler.

4 Cevap

Ben sadece her zaman, her dakika çalışan yüklenen XML dosyaları arar cron işi tutmak öneriyoruz. Herhangi bir dosya bir dizin olup olmadığını görmek için kontrol etme değil gerektiğinde bunu kapatmak için bir yer yönetimsel arayüzü yapmak gerekir pahalı yeterli bir işlem değildir.

Ben PHP kullanarak cron işleri eklemek veya silmeyin öneririm. Bunun yerine PHP kullanarak yapılandırılmış olacağını yerine (sabit) bir cron işi yazmak gerekir. Bazı yapılandırma dosyası veya veritabanı bu sıraya gerçek işler için çalışan her zaman kontrol edebilir.

Sen crontab dosyasında okuma ve komut dosyası çalıştıran satırı yorumsuz / eklemek veya comment-out olabilir. Bir hata diğer işleri etkileyen, kırık senin crontab'ın bırakabilir, çünkü bu, beni tedirgin olur.

Ayrıca, sadece çalışan cron işi bırakabilirsiniz. Açık / kapalı düğmesi var cronned betik aslında hiçbir şey ya da sadece çıkış yapmak gerekip gerekmediğini belirlemek için bu değeri kontrol ettirin, sonra başka bir dosya veya veritabanında bir değer ayarlayın.

Veya, sadece kullanıcıların her zaman taze veriler var ve dosya okuma açmak için hatırlamak zorunda değilsiniz, böylece tüm zaman çalışan cron işi bırakın.

Sadece haftanın belirli bir zamanda çalışan Veya, cron işi kurmak.

Ben daha önce bu tür bir şey yaptık. Ben crontab düzeyinde / kapalı cron dönüm önermiyoruz.

Bunun yerine, her zaman çalışan cron bırakın, ancak PHP komut dosyası gibi görünmelidir:

if( ScriptIsEnabled() )
{
  DoWork()
}

ScriptIsEnabled() bir yapılandırma dosyası, veritabanı, memcache, ya da nasıl hiç script iletişim kurmak isteyen bir bayrak için bakmak gerekir. Bir veritabanı üzerinde - Ben memcache (sadece bir değeri ayarlamak az tepegöz) tercih ederim.

Daha sonra bu kontrol etmek için bir açma / kapama düğmesi ile bir web gui olabilir.