Her 10 saniyede n kere durdurmak sonra çalıştırın Cron

0 Cevap php

Ben her gün belirli bir saatte n kullanıcılar için bilgi almak için bir hizmetini sorgulamak için gereken özel bir durum var. Sorun olduğunu ben tüm bu hizmet çevrimdışı / kazasında koyacağız seferde bunu yaparsan.

Yani kullanıcılar her 10 saniyede ya da öylesine kadar x = n ve daha sonra durdurmak x sayısı için bu çalıştırmak için daha iyi olurdu, bu üstesinden gelmek için.

Ben kurulum günlük ve her 10 saniyede bir çalışan başka bir çalışan 1 cron komut olabilir. Günlük komut dosyası daha sonra ikinci komut (her 10 saniyede koşmak) 1 için kontroller bu veritabanı değer. Üzerine bulma nerede, (varsayılan olarak kapalı 0 olurdu) (örneğin 'sorguyu başlatmak') 1 DB bir değer ayarlarsınız ayarlamak true ayarı daha sonra yinelenir bir anda servis x kullanıcıları sorgulama ve listede o anda nerede izlemek için aynı DB tablodaki başka sütunu artırmak kullanıcıları ile.

(Iyi bana göre), bu çözüm ile sorunu her 10secs çalışan 2 komut 'sorguyu başlatmak' ayarı 1'e ayarlı olup olmadığını öğrenmek için DB her zaman sorgulamak zorunda olmasıdır. Bu oldukça işlemci ağır olabilir. Herkes daha iyi bir çözüm var mı?

NB: Code is written in PHP - cannot use sleep due to max execution time of php scripts on server

Ben eşit Python bu yapabileceğini, cgi komut üzerinde sınırı için maksimum yürütme var?

0 Cevap