Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Job Server Bundle Laravel Package

abc/job-server-bundle

Symfony bundle for asynchronous distributed job processing via php-enqueue. Supports jobs, batches, sequences, free composition, status tracking, cancellation/restart, cron jobs (with AbcSchedulerBundle), plus a JSON REST API, PHP client, and OpenAPI docs.

View on GitHub
Deep Wiki
Context7

AbcJobServerBundle

Build Status

A symfony bundle for asynchronous distributed job processing using php-enqueue as transport layer.

Note: This project is still experimental!

Features

  • Asynchronous distributed processing of
    • Job: a single job
    • Batch: multiple jobs that are processed in parallel
    • Sequence: multiple jobs processed in sequential order
    • Free composition of Job, Sequence, and Batch
  • Status information about jobs
  • Cancellation and restarting of jobs
  • Cron jobs (requires AbcSchedulerBundle 2.x)
  • JSON REST-Api & PHP client library
  • OpenApi documentation

Demo

You can find a demo here.

Installation

composer install abc/job-server-bundle

Getting Started

Prerequisites

  • EnqueueBundle is configured with a transport layer

Steps

  1. In case you configured a transport with a key different that default you have to configure this transport also for the AbcJobServerBundle

    abc_job_server:
        transport: my_transport_name
    
  2. Create database and database schema

    bin/console doctrine:database:create
    bin/console doctrine:schema:create
    
  3. Start the command that processes replies from workers

    bin/console abc:process:reply someReplyQueue
    
  4. Create an application that will consume jobs using the AbcJobWorkerBundle that will process jobs.

Configuration Reference

abc_job_server:

    # the enqueue transport name
    transport: default
    
    # whether to enable the cronjob component
    cronjob:
        enabled: true
    
    # whether to enable the endpoints to cleanup jobs, and cronjobs
    cleanup:
        enabled: true

Commands

Command abc:broker:setup

The command abc:broker:setup declares queues at the broker for all registered routes.

bin/console abc:broker:setup --help

Command abc:reply:process

The command abc:reply:process processes job replies from queues, updates job information and schedules dependant jobs

bin/console abc:reply:process --help

License

The MIT License (MIT). Please see License File for more information.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
boundwize/pyrameter
testo/facade
headercat/phpstan-extension-ide-helper
yosymfony/parser-utils
innmind/black-box
babenkoivan/elastic-migrations
babenkoivan/elastic-adapter
sandermuller/package-boost-php
sandermuller/boost-core
depa/sulu-google-reviews-bundle
croct/plug-symfony
develia/commons
dmstr/symfony-system-resources-bundle
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
renatomarinho/laravel-page-speed
develia/geo-bundle
austinheap/laravel-database-encryption
dreamzy/livewire-charts
touchestate-sdk/php-sdk