PHP code example of goletter / hyperf-queue

1. Go to this page and download the library: Download goletter/hyperf-queue library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

goletter / hyperf-queue example snippets


use Goletter\Queue\Driver\RedisMsDriver;
use Hyperf\AsyncQueue\Driver\RedisDriver;

return [
    'default' => [
        'driver' => RedisDriver::class,
        // ... official second-based config
    ],
    'ms' => [
        'driver' => RedisMsDriver::class,
        'redis' => [
            'pool' => 'default',
        ],
        'channel' => '{queue-ms}',
        'timeout' => 2,
        'retry_seconds' => [10, 30, 60],
        'handle_timeout' => 10,
        'processes' => 1,
        'concurrent' => [
            'limit' => 10,
        ],
        'max_messages' => 0,
    ],
];

'retry_milliseconds' => [100, 500, 1000, 3000], // overrides retry_seconds when set
'move_interval_ms' => 5,                         // default 5
'move_batch' => 200,                             // default 200

use App\Job\SendLetterJob;
use Goletter\Queue\Queue;
use Goletter\Server\Service\QueueService;
use function Goletter\Queue\dispatch_ms;
use function Hyperf\AsyncQueue\dispatch;

$job = new SendLetterJob(...);

// official second-based pool (delay = seconds)
dispatch($job);
dispatch($job, 5);
$queueService->push($job, 'default', 5); // 5 seconds

// millisecond pool (delay = milliseconds)
$queueService->push($job, 'ms', 10);     // 10ms
$queueService->push($job, 'ms', 200);    // 200ms
Queue::laterMs(150, $job);
dispatch_ms($job, 150);
bash
php bin/hyperf.php vendor:publish goletter/hyperf-queue
bash
php bin/hyperf.php queue:ms-info
php bin/hyperf.php queue:ms-info ms
php bin/hyperf.php queue:ms-info default