bir php görevi her 24 saatte çalışıyor

4 Cevap php

Ben sitelerin bir çift kapalı bilgi çekin ve benim veritabanına bunları eklemek için curl kullanan bazı işlevlere sahiptir. Ben sadece bu görevi her 24 saatte yürütülmesi hakkında gitmek için en iyi yolu nedir merak ediyorum?

Ben şimdi pencerelerin kapalı çalıştırıyorum, ama muhtemelen ben (ki bir fark yapar) canlı duyuyorum kez linux geçecektir. Ben şimdi symfomy çerçevesi içinde çalışıyorum.

Ben CronJobs bu yapabilirsiniz duyuyorum ... ama sitesinde baktığınızda bunun uzaktan çalışmak ve ben yerine sadece evde şeyleri tutmak istiyorum ... ben sadece "bir hizmet run" Can benim bilgisayar görünüyor? ki ;) ne demekse (kullanıldığı duymuş)

thanks for any help, Andrew

4 Cevap

Bu Cron (linux) veya Scheduled Tasks (windows) için tam olarak ne olduğunu.

Bir yerde her şeyi tutmak için uygulama sunucusu bunları çalıştırabilirsiniz.

Örneğin, her gün yedekleme için benim ev sunucusu üzerinde kendi MySQL veritabanı çalıştıran bir cron var. Sadece bir sistem bu süreçte ilgilenmektedir.

0 0 * * * php /path/to/your/cronjob.php sizin ekleme crontab Bunu başarmak gerekir.

Siz cron (veya windows bir zamanlanmış görev) bir zamanlanmış görevi ayarlayabilirsiniz. En kolay yolu (bu sayesinde www sunucu kaynaklarını kullanmak zorunda değilsiniz) komut satırından php komut yürüten bir kabuk (windows batch script) oluşturmaktır. Tabii ki hedef makinede komut dosyasını yürütün.

Ne olursa olsun için cron veya windows scheduler uygun olmadığını karar verirseniz, ben bazen kullanışlı aynı şeyi yapar hızlı bir Java uygulaması yazmak için bulduk:

Sen aramaları System.getRuntime().exec("cmd line stuff here"); kullanabilirsiniz. Daha sonra bir TimerTask bu işlemi çözgü olabilir. Son olarak, TimerTasks ekleme ve saatleri ve sıklığı vb belirterek Timer nesnesi ateş ..

Bu, bazı akıllı hata düzeltme atmak ve ne zaman bir şey vidalar kadar e-posta uyarıları veya benzeri kendiniz gönderebilirsiniz çünkü ancak bunu seviyorum açıkça yukarıda belirtilen örneklerden daha karmaşıktır.

Muhtemelen overkill ama hiç uğraşmak için çeşitli tür işlemleri varsa bakarak muhtemelen değer.

sweeney