gowork/throttler

Simple PHP execution throttler.

Installs: 10 551

Dependents: 0

Suggesters: 0

Security: 0

Stars: 7

Watchers: 2

Forks: 2

Open Issues: 1

pkg:composer/gowork/throttler

0.2 2020-12-04 11:40 UTC

This package is auto-updated.

Last update: 2025-09-29 02:42:57 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
}