Weave 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
Conveyor Belt

Conveyor Belt Laravel Package

glhd/conveyor-belt

Conveyor Belt is a Laravel package for composing queued jobs into pipelines. Define ordered stages, run independent jobs in parallel, and orchestrate multi-step background workflows while relying on Laravel’s queue for retries and scaling.

View on GitHub
Deep Wiki
Context7

All the underlying mechanics necessary to write artisan commands that process lots of data efficiently

Frequently asked questions about Conveyor Belt
What is glhd/conveyor-belt used for in Laravel?
Conveyor Belt is a Laravel orchestration package for batch and background work. The provided context describes mechanics for Artisan commands that process lots of data efficiently, plus running independent Artisan commands concurrently with progress reporting and composing queued jobs into pipelines. It is best suited to batch jobs, deployment scripts, data backfills, test setup, and maintenance commands. It is not a general-purpose queue, scheduler, or distributed job runner.
How do I install glhd/conveyor-belt?
Install it with Composer as glhd/conveyor-belt in a Laravel project. The assessment says new adopters can wrap existing Artisan commands without application architecture changes, provided those commands are safe to run concurrently. Start by piloting it in non-critical scripts before using it in production deployment or data-migration paths.
Which Laravel and PHP versions does Conveyor Belt 2.4.0 support?
The provided material does not list exact Laravel, PHP, Symfony Console, or Symfony Process version constraints for 2.4.0. Validate compatibility against your project's Laravel/PHP matrix before upgrading. Because the feature uses PHP's Countable interface and console progress rendering, test in both interactive terminals and CI/non-interactive environments.
How does Conveyor Belt run Artisan commands in parallel?
The technical assessment describes it as running independent Artisan commands concurrently with progress reporting. It is intended for work that can be safely parallelized, such as batch jobs and maintenance commands. Commands selected for parallel execution should be idempotent or partitioned to avoid write conflicts. The package is not positioned as a distributed job runner.
What does Countable support add in Conveyor Belt 2.4.0?
Version 2.4.0 adds an additive feature: commands implementing Countable can expose a total for progress bars. The assessment describes this as applying to commands implementing Countable, not as a general output-only contract. A deterministic count improves operator experience for long-running commands. If the total is unknown, retain indeterminate progress behavior.
Is glhd/conveyor-belt safe for production database backfills?
It can be suitable for backfills if the commands are designed for concurrency safety. Shared database writes, cache locks, file writes, external API rate limits, and interleaved output can cause confusing failures. Pilot in non-critical scripts, partition or make commands idempotent, and document which commands are safe for parallel execution. Confirm failure and timeout behavior before using it on production data-migration paths.
How are command failures, timeouts, and partial failures handled?
The assessment flags process failures, timeouts, and partial failures as key questions, but the provided material does not specify the exact handling semantics. Treat failure surfacing as something to verify in the package documentation and with local smoke tests. For production use, test partial-failure scenarios and ensure your orchestration code can detect and respond to failed stages.
Can I limit concurrency in Conveyor Belt?
The provided context does not confirm whether concurrency limits are configurable or what the default is. It does note that effective parallelism is bounded by local process capacity, CPU, memory, database connections, external API limits, and disk I/O. Check the package documentation before relying on a specific limit. Plan capacity and rate limits around the commands you choose to run concurrently.
Do Conveyor Belt progress bars work in CI or non-interactive environments?
Progress bars depend on console progress rendering, so behavior can differ between interactive terminals and CI/non-interactive logs. The assessment explicitly flags clean disabling in non-TTY/CI environments as a question to verify. Test progress output locally and in CI logs before rolling the feature out broadly. Inaccurate Countable totals should degrade UX but should not affect command exit codes.
Is Conveyor Belt a replacement for Laravel queues, and what maintenance does it require?
No. The assessment states it is not a general-purpose queue, scheduler, or distributed job runner, and it is best treated as a developer/ops utility layer for batch jobs, deployment scripts, data backfills, test setup, and maintenance commands. Use Laravel's queue and scheduler for distributed background processing, retries, and scaling. Maintenance is described as low because 2.4.0 is small and non-breaking, but ongoing work includes Composer dependency hygiene and periodic compatibility checks with Laravel and Symfony releases.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo