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

Sansdaemon Laravel Package

queueworker/sansdaemon

Run Laravel queue workers without a long-running daemon. Sansdaemon processes queued jobs on demand, making it ideal for cron, serverless, and shared hosting where persistent workers are not possible. Install via Composer, configure your queues, and let it drain jobs and exit cleanly.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. Sansdaemon inverts the standard Laravel queue deployment model: instead of a long-lived queue:work process held alive by supervisor/systemd, it processes a bounded batch of jobs and then terminates the PHP process. This fits an "invocation-bounded" execution model — cron-scheduled runs, low-volume workers, shared hosting/cPanel, or ephemeral containers — where supervisors are unavailable or disallowed. It is not an architectural fit for Horizon-managed, high-throughput, or latency-sensitive workloads; treat it as a degradation-safe fallback, not a primary queue strategy.

Integration feasibility. Surface area is small and Laravel-native: a composer require, a publishable config, and an Artisan command scheduled via schedule:run. There are no schema migrations or service bindings to reconcile, which keeps the integration risk front-loaded to version compatibility rather than to runtime coupling. Realistic time-to-first-run is under a day for a competent Laravel engineer.

Technical risk. Moderate-to-high. The last release is March 2023, which predates Laravel 11 and 12 and PHP 8.3/8.4 maturity; compatibility with current framework queue internals (job lifecycle events, --tries/--timeout/--backoff semantics, batching, JobExceptionOccurred) is unverified. The package shows zero dependents and a single maintainer — a bus factor of one with no adoption signal to validate production behavior. The process-kill mechanic is the sharpest edge: if the kill lands before JobProcessed/JobFailed fires, jobs can be retried or lost. Finally, absence of a supervisor means a crashed cron invocation is silently not restarted.

Key questions. (1) Which Laravel and PHP versions are actually supported and CI-tested? (2) Does it wrap queue:work --stop-when-empty or reimplement the worker loop — i.e., does it inherit framework bugfixes or fork them? (3) How are failed jobs, retries, timeouts, and backoff handled? (4) Is there any overlap protection, or can concurrent cron invocations double-process jobs? (5) What is the memory and observability story across long batches? (6) Is the maintainer responsive and is a maintainership succession or fork plan realistic?

Integration Approach

Stack fit. Positive fit for shared hosting, cPanel/cron-only plans, single-node deployments, Lambda/Vapor-style short-lived runtimes, and any environment where supervisors are prohibited by policy. Negative fit wherever Horizon, supervisor, or a managed queue runner already exists — introducing Sansdaemon there adds a second, divergent execution path for no benefit.

Migration path. Introduce as an additive scheduled command alongside the existing queue:work daemon and run in parallel for at least one release cycle. Compare jobs throughput, failed-job rates, and job latency between the two paths. Rollback is a one-line schedule removal, which makes the risk profile asymmetric in your favor — but only if the incumbent worker remains deployed during evaluation.

Compatibility. Assume Laravel 5.8–9 era and PHP 7.4–8.1 as the tested envelope until you prove otherwise. Validate on Laravel 10/11/12 in CI or a staging matrix before scheduling in production; if incompatible, budget for a small fork (the code surface is small enough that vendoring is cheaper than waiting).

Sequencing. (1) Compatibility spike on target framework/PHP versions with a representative job payload. (2) Run in staging under cron with withoutOverlapping() and runInBackground(). (3) Parallel-run against the incumbent worker in production, instrumented for throughput, retries, and dead-letter rate. (4) Cut over schedule-by-schedule, lowest-volume queue first. (5) Remove supervisor entries only after a clean two-week observation window. (6) Document the fork/vendoring decision point.

Operational Impact

Maintenance. Low ongoing code maintenance but elevated stewardship risk: the package is unmaintained relative to current Laravel release cadence. Plan for either a thin internal fork or a quarterly compatibility audit. The high opportunity score (16.46) against 178 stars and zero dependents is a signal worth reading: there is real unmet demand in this niche, and no mature incumbent — meaning you are likely adopting a caretaker dependency, not a vendor one.

Support. Community-only. There is no SLA, no security disclosure process, and no release cadence to plan against. For a TPM this is acceptable only for non-critical, low-volume queues; it is disqualifying for payment, notification, or order-processing pipelines without an internal owner assigned.

Scaling. Throughput scales linearly with cron frequency, not elastically. You can widen the batch or add schedule entries, but without built-in overlap protection you risk duplicate job pickup and unpredictable concurrency. Above roughly a few jobs per minute, the cron model — not the package — becomes the bottleneck, and the correct answer is a real daemon.

Failure modes. Distinct from queue:work: a missed cron tick is a silent outage. Kill-mid-job can truncate work; concurrent invocations can double-process; long jobs can exceed PHP max_execution_time; a crash is never restarted automatically. None of these are catastrophic at low volume, but together they mean this package shifts the reliability burden from supervisor to your monitoring. Cron-heartbeat alerting and per-run logging are mandatory, not optional.

Ramp-up. Near-zero for a Laravel developer — a config file and a schedule entry. The real ramp-up is conceptual: the operator must explicitly internalize the daemon-versus-invocation tradeoff, understand why overlap protection and heartbeat alerting exist, and know the escalation path when compatibility breaks against a Laravel upgrade. Budget half a day of engineering plus an operational runbook; anything less leaves the deployment fragile in exactly the environment this package targets.

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.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin