• 04-09-2020, 18:17:26
    #1
    Crontab'da 1.5 saniye şeklinde nasıl calıştırabilirim?
    Örnek olarak 1 saniye şeklinde bu şekilde 60'a kadar calıştırıyorum
    * * * * * sleep 1;
    * * * * * sleep 2;
  • 04-09-2020, 18:23:24
    #2
    https://stackoverflow.com/a/9619441/14204062 bu kaynağı inceleyebilirsiniz.
  • 04-09-2020, 18:32:00
    #3
    magicphp adlı üyeden alıntı: mesajı görüntüle
    https://stackoverflow.com/a/9619441/14204062 bu kaynağı inceleyebilirsiniz.
    Kullanım şeklini yazarsanız daha iyi olur benim için saniye şekli ile var genel kullanımlar
  • 04-09-2020, 18:50:36
    #4
    Aynı mantık sadece saniyeye uygulayacağız
    <?php 
    $kac_saniyede_bir = 1.5;
    $calistirilacak_komut = "/calistirmak/istediginiz/dosya";
    
    function execInBackground($cmd) {
        if (substr(php_uname(), 0, 7) == "Windows"){
            pclose(popen("start /B ". $cmd, "r")); 
        }
        else {
            exec($cmd . " > /dev/null &");  
        }
    } 
    
    
    for($i=0;$i<60/$kac_saniyede_bir;$i++){
        execInBackground($calistirilacak_komut);
        usleep($kac_saniyede_bir * 1000000);
    }
    ?>
    Şimdi bu php kodunu çalıştırdığınızda 60 saniyede 40 kere istediğiniz komutu çalıştıracak. Diğer komutun tamamlanma durumunu önemsemeden. Sizin yapmanız gereken şey ise bu yazdığım php kodunu herhangi bir isimle kaydedip crontaba dakikada bir kere çalışacak şekilde eklemek. Örneğin
    * * * * * php kaydettiginiz_isim.php;
  • 04-09-2020, 19:08:49
    #5
    magicphp adlı üyeden alıntı: mesajı görüntüle
    Aynı mantık sadece saniyeye uygulayacağız
    <?php
    $kac_saniyede_bir = 1.5;
    $calistirilacak_komut = "/calistirmak/istediginiz/dosya";
    
    function execInBackground($cmd) {
    if (substr(php_uname(), 0, 7) == "Windows"){
    pclose(popen("start /B ". $cmd, "r"));
    }
    else {
    exec($cmd . " > /dev/null &");
    }
    }
    
    
    for($i=0;$i<60/$kac_saniyede_bir;$i++){
    execInBackground($calistirilacak_komut);
    usleep($kac_saniyede_bir * 1000000);
    }
    ?>
    Şimdi bu php kodunu çalıştırdığınızda 60 saniyede 40 kere istediğiniz komutu çalıştıracak. Diğer komutun tamamlanma durumunu önemsemeden. Sizin yapmanız gereken şey ise bu yazdığım php kodunu herhangi bir isimle kaydedip crontaba dakikada bir kere çalışacak şekilde eklemek. Örneğin
    * * * * * php kaydettiginiz_isim.php;

    Teşekkürler hocam işimi çok gördü