int \Workerman\Timer::add(float $time_interval, callable $callback [,$args = array(), bool $persistent = true])

Belli bir işlevi veya sınıf yöntemini zamanlanmış olarak çalıştırır.

Not: Zamanlayıcı mevcut işlemde çalışır; workerman'da yeni bir işlem veya diğer zamanlayıcıları çalıştırmak için yeni bir iş parçacığı oluşturulmaz.

Parametreler

time_interval

Ne sıklıkla çalıştırılacağı, saniye cinsinden, ondalıklı sayıları destekler, yani milisaniye hassasiyetine kadar kesinlikle belirtilebilir.

callback

Geribildirim işlevi Not: Geri çağırma işlevi bir sınıf yöntemi ise yöntemin public olması gerekmektedir

args

Geri çağırma işlevinin parametreleri, bir dizi olmalıdır, dizi elemanları parametre değerlerini içermelidir.

persistent

Kalıcı olup olmadığı, yalnızca bir kez zamanlanmış bir görevi çalıştırmak istiyorsanız false (Timer::del() çağrılmasına gerek yoktur). Varsayılan olarak true, yani sürekli olarak zamanlanmış görevi çalıştırır.

Dönen Değer

Bir zamanlayıcıya ait timerid yi temsil eden bir tamsayı döndürür, Timer::del($timerid) çağrılarak bu zamanlayıcıyı yok edebilirsiniz.

Örnekler

1, Zamanlanmış işlev anonim bir fonksiyon (kapanış) olarak tanımlanmış

use Workerman\Worker;
use Workerman\Timer;
require_once __DIR__ . '/vendor/autoload.php';

$task = new Worker();
// Kaç tane iş parçacığında zamanlanmış görev çalıştırılacağına dikkat edin, iş akışı özelliğinin birden çok iş parçacığında eş zamanlı sorunlara sahip olup olmadığını kontrol edin.
$task->count = 1;
$task->onWorkerStart = function(Worker $task)
{
    // Her 2.5 saniyede bir çalıştır
    $time_interval = 2.5;
    Timer::add($time_interval, function()
    {
        echo "görev çalıştır\n";
    });
};

// İşçiyi çalıştır
Worker::runAll();