Looking to hire Laravel developers? Try LaraJobs

laravel-cloudflare-queue maintained by ayles-software

Description
Cloudflare queue driver for laravel.
Last update
2026/02/27 12:29 (dev-main)
License
Links
Downloads
2 390

Comments
comments powered by Disqus

Laravel Cloudflare Queue

A Laravel queue driver for Cloudflare Queues. This is still a work in progress.

Configuration

Add the following to your config/queue.php file:

'cloudflare' => [
    'driver' => 'cloudflare',
    'account_id'=> env('CLOUDFLARE_ACCOUNT_ID'),
    'queue_id'  => env('CLOUDFLARE_QUEUE_ID'),
    'api_token' => env('CLOUDFLARE_API_TOKEN'),
],

If are using CF workers and pushing raw jobs, you can set a raw handler that will be used to process the raw job:

'cloudflare' => [
    'driver' => 'cloudflare',
    'raw_handler' => CloudflareRawJobHandler::class,
    'account_id'=> env('CLOUDFLARE_ACCOUNT_ID'),
    'queue_id'  => env('CLOUDFLARE_QUEUE_ID'),
    'api_token' => env('CLOUDFLARE_API_TOKEN'),
],

Example of a raw CF job:

class WebhookEmailEvent implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    public function __construct(public readonly array $data)
    {
        //
    }
    
    public function handle()
    {
        // do something
    }
}

Example of pushing a raw CF job to a Queue using JS:

export default {
    async fetch(request, env, context) {
        await env.MY_QUEUE.send({
            food: "lemons", 
        });

        return new Response('Ok');
    }
}

Testing

This package includes a comprehensive test suite using Pest PHP. To run the tests:

  1. Install dependencies:

    composer install
    
  2. Run the tests:

    ./vendor/bin/pest