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

Queue Promises Laravel Package

tochka-developers/queue-promises

Laravel package that adds promise-style handling to queued jobs, letting you dispatch work asynchronously and await results through a clean promise API. Simplifies coordinating background tasks while keeping jobs on your existing queue.

View on GitHub
Deep Wiki
Context7

Getting Started

  • v1.9.0 is a compatibility release: it adds PHP 8.5 support and fixes Carbon 3 compatibility. No new API surface is indicated.
  • First check composer.json for php and nesbot/carbon constraints. If you are on PHP 8.4 or Carbon 2, this is a low-risk upgrade; if you are moving to PHP 8.5 or Carbon 3, v1.9.0 should be your minimum version.
  • First use case: upgrade path. Require ^1.9, run composer update <vendor/package> --with-dependencies, then run php artisan about and your test suite.
  • Look first at the README installation section, the v1.9.0 changelog entry, the package service provider (auto-discovery), and any publishable config file.

Implementation Patterns

  • Treat v1.9.0 as a drop-in compatibility update. Pin ^1.9 in composer.json and let CI validate the upgrade.
  • Add PHP 8.5 and Carbon 3 to your CI matrix. If the package supports both Carbon 2 and 3, test both explicitly rather than relying on the lockfile.
  • Isolate date/time logic behind your own service or adapter. Inject CarbonInterface or use Laravel’s now() / Date facade so Carbon major upgrades do not leak through application code.
  • In tests, freeze time with $this->travelTo() or Carbon::setTestNow() and assert date math with tolerant comparisons where Carbon 3 changes return types.
  • If the package exposes config, publish it once and version the file. Use environment variables for runtime knobs so config caching remains predictable.
  • For queued jobs and scheduled tasks, serialize dates as ISO-8601 and keep timezone handling explicit.

Gotchas and Tips

  • Carbon 3 changed several diffIn* return types and method signatures. Run tests around date differences, timezone conversions, and add/subtract operations; do not assume integer returns.
  • PHP 8.5 can surface deprecations in transitive dependencies. Run the suite with deprecation reporting enabled and check composer why nesbot/carbon and composer outdated.
  • If you use Composer platform config, setting "php": "8.5" too early can force resolution to older package versions. Verify all dependencies support PHP 8.5 before changing the platform constraint.
  • Clear caches after upgrading: php artisan config:clear, php artisan cache:clear, and reset OPcache in production.
  • If the package does not use Laravel auto-discovery, confirm the service provider and aliases are still registered after the update.
  • Extension points are likely unchanged: config publishing and container bindings remain the safest integration points. Avoid extending Carbon directly.
  • Debugging commands: composer show <vendor/package>, composer why-not php 8.5, and vendor/bin/phpunit --display-deprecations.
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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource