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

Task Manager Laravel Package

21torr/task-manager

Small wrapper around symfony/messenger that simplifies task management in PHP/Symfony apps. Helps you define, dispatch, and handle tasks with a cleaner API while keeping Messenger under the hood. Includes documentation for quick setup and usage.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. Buy: Buy – This package eliminates the need to build a custom task queue abstraction layer for Symfony Messenger, reducing development time and maintenance overhead. It provides a standardized, opinionated solution for task management, logging, and scheduling.
  • Feature Roadmap:
    • Task Observability: Enables structured logging, task tracking, and debugging via TaskLog and CLI commands (task-manager:log, task-manager:debug).
    • Reliable Task Retries: Supports redispatching tasks (e.g., DispatchAfterRunTask) and requeueing failed tasks in development, improving fault tolerance.
    • Scalable Scheduling: Introduces TaskScheduler for delayed or recurring tasks, reducing reliance on cron jobs or external schedulers.
    • Performance Optimization: Automates log cleanup (e.g., LogCleaner) and reduces memory usage for high-throughput systems.
  • Use Cases:
    • Background Processing: Replace synchronous workflows (e.g., email sends, report generation) with async tasks.
    • Event-Driven Architectures: Decouple services using task queues (e.g., order processing, notifications).
    • Data Pipelines: Chain dependent tasks (e.g., TaskDirector) for ETL or batch processing.
    • Developer Tooling: Provide self-service debugging via CLI commands (e.g., inspecting queues, requeueing tasks).

When to Consider This Package

  • Adopt if:

    • Your Symfony app uses Symfony Messenger but lacks structured task management (logging, retries, scheduling).
    • You need auditability (track task execution history, failures, and durations).
    • Your team wants to reduce boilerplate for task enqueueing, handling, and debugging.
    • You require scalable task scheduling (e.g., delayed tasks, retries) without external tools like RabbitMQ or Redis.
    • Your PHP version is 8.4+ (or 8.5+ for ULID support in 3.2.0+).
  • Look elsewhere if:

    • You’re not using Symfony Messenger (this is a wrapper, not a standalone queue).
    • You need advanced distributed task coordination (e.g., sagas, compensating transactions) – consider tools like Symfony Scheduler or Laravel Horizon.
    • Your team prefers event sourcing over task-based workflows (e.g., ProophEventStore).
    • You require GUI-based task management (e.g., Laravel Nova or Horizon).
    • You’re on PHP < 8.4 (package dropped support for older versions in v2.0+).

How to Pitch It (Stakeholders)

For Executives:

*"This package lets us standardize how we handle background jobs in Symfony, cutting development time by 30% while adding critical features like task retries, scheduling, and debugging tools. For example:

  • Reduce toil: No more reinventing task queues—just integrate this bundle and get logging, retries, and CLI tools out of the box.
  • Improve reliability: Failed tasks auto-log and can be requeued, reducing downtime from missed jobs.
  • Scale effortlessly: The built-in scheduler handles delayed tasks (e.g., sending emails after 1 hour) without cron complexity.
  • Future-proof: Works with modern PHP (8.4+) and Symfony, aligning with our tech stack roadmap."*

Ask: "Should we prioritize this to unblock [X] feature or reduce tech debt?"


For Engineering:

*"This is a Symfony Messenger wrapper that adds:

  1. Task Logging: Persist task metadata (duration, status, payload) via TaskLog for debugging.
  2. CLI Superpowers:
    • task-manager:log → Inspect task history.
    • task-manager:run-worker → Control batch processing (e.g., limit tasks to 5 at a time).
    • task-manager:debug → List all tasks/queues.
  3. Reliability:
    • Redispatch tasks after failures (DispatchAfterRunTask).
    • Requeue tasks in dev without redeploying.
  4. Performance:
    • Async log cleanup to avoid DB bloat.
    • Reduced memory usage for high-volume queues.

Trade-offs:

  • Breaking changes in v3.0: Tasks must extend Task base class (migration effort).
  • PHP 8.4+ only: Drop support for older versions.

Proposal:

  • Short-term: Use for new features (e.g., async notifications).
  • Long-term: Migrate existing Messenger usage to leverage logging/scheduling.
  • Alternatives: Only consider if we need event sourcing or GUI tools (e.g., Horizon).

Next Steps:

  1. Spike integration time (~2 hours).
  2. Align on migration plan for existing tasks.
  3. Demo CLI tools to devs."*
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.
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle