PHP den anlayanlar yardım edebilir mi
6
●125
- 28-05-2021, 16:57:50Merhaba yazılımımıza 10 a yakın cron çalıştırmamız gerekiyor ve cronlardan birisi 1 dakika birisi 3 saat birisi 15 dakika gibi farklı sürelerde çalışması gerekiyor bunu tek bir crona (tek bir dosyaya) nasıl düşürebiliriz. Yardım ederseniz sevinirim
- 28-05-2021, 16:59:25Dosyaya göndereceğiniz parametreler ile tüm cronlarınızı tek dosya haline getirebilirsiniz.
- 28-05-2021, 17:01:38Bir get parametresi eklersiniz o parametre üzerinden if ile kod bloğu oluşturursunuz. Oluşturacağınız cronlarda bağlantı aynı sadece sonundaki parametre farklı olur. Dosya ilgili parametre deki bloğu çalıştırır.erkantalhaboz bunu beğendi.1 kişi bunu beğendi.
- 28-05-2021, 17:04:22Bu tür yapılarda if-else yapısı kurmak yerine switch-case yapısı kurmak hem kod okunurluğunu artıracaktır hem de daha iyi performans verecektir. bknz: http://www.blackwasp.co.uk/SpeedTestIfElseSwitch.aspxMisafir adlı üyeden alıntı: mesajı görüntüle
- 28-05-2021, 17:07:39Doğru, o da olabilir. En mantıklısı switch-case yapısıdır anlık aklıma if geldi sadecesumer-bilisim adlı üyeden alıntı: mesajı görüntüle
sumer-bilisim ve erkantalhaboz bunu beğendi.2 kişi bunu beğendi. - 28-05-2021, 17:58:49Örnekleme;
Veritabanına cron isminde tablo oluşturun ve içerisine saat_1, saat_2, saat_3, saat_4, saat_5... şeklinde sütunlar oluşturun.
Cron.php
// Son kontrol saatlerini alın. ÖRN: 13.00, 13.15, 15.00, 15.30, 18.00 gibi. // Daha sonra if (/* Şuanki saat > saat_1+15DK */) { // if onaylanırda satın içini okursa, işlemlerinizi yaptırın, ardından son olarak saat_1 değerini şuanki zaman ile güncelleyin. (update [ saat_1=saat_1+15DK ] ) } // 2. if if (/* Şuanki saat > saat_2+30DK */) { // if onaylanırda satın içini okursa, işlemlerinizi yaptırın, ardından son olarak saat_2 değerini şuanki zaman ile güncelleyin. (update [ saat_2=saat_2+30DK ] ) } // 3. if // 4. if // 5. if // .....