gowork/throttler

Simple PHP execution throttler.

0.2 2020-12-04 11:40 UTC

This package is auto-updated.

Last update: 2024-10-29 06:05:40 UTC


README

Build Status

Use the throttle to control the speed.

use GW\Throttler\Throttler;

$throttler = new Throttler(1.0);

foreach ($heavyTasks->all() as $task) {
    $throttler->throttle(); // wait a second... before next task
    $task->run();
}

Alternative usage for wrapping iterables:

use GW\Throttler\Throttler;

$throttledTask = Throttler::iterable($heavyTasks->all(), 1.0);

foreach ($throttledTask as $task) {
    $task->run(); // for each iteration it will sleep one second
}