Simple file system based PHP queue, with multiple adapters.
Currently implemented
textfilesqliteredis(send in connection string instead of file path, default to localhost)beanstalkdhttps://beanstalkd.github.io/
PHP 8.1+
Examples available to run here
<?php
use Slowmove\SimplePhpQueue\Queue;
use Slowmove\SimplePhpQueue\Storage\StorageType;
$queue = new Queue(StorageType::SQLITE, "./queue.db");
for ($i = 0; $i < 150; $i++) {
$queue->enqueue("test $i");
}<?php
use Slowmove\SimplePhpQueue\Queue;
use Slowmove\SimplePhpQueue\Storage\StorageType;
$queue = new Queue(StorageType::SQLITE, "./queue.db", true);
$queue->listen(function ($item) {
echo $item . PHP_EOL;
});Enum available here;
enum StorageType: string
{
case FILE = 'file';
case SQLITE = 'sqlite';
case REDIS = 'redis';
case BEANSTALKD = 'beanstalkd';
}enqueue(string $data): booldequeue(): ?stringlisten(callable $fn, int $delayWhenEmpty = 5): voidlength(): intcontent(): array