ecotone-asynchronous

Route Ecotone handlers to background channels for asynchronous message processing.

2|Updated Feb 12, 2026
One-click install
npx skills add https://github.com/ecotoneframework/skills --skill ecotone-asynchronous
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ecotone-asynchronous
Source: https://github.com/ecotoneframework/skills/tree/main/skills/ecotone-asynchronous
Command: npx skills add https://github.com/ecotoneframework/skills --skill ecotone-asynchronous

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Offloads work from the main execution thread by routing handlers to background message channels, enabling non-blocking processing and reliable delivery.

Core Features & Use Cases

  • Asynchronous routing of command and event handlers via named channels
  • Delayed messages, scheduling, priority, and TTL to control processing
  • Dynamic channel routing and enterprise options for multi-tenant setups
  • Real-world example: Use an #[Asynchronous] channel to process notifications in the background while the main flow continues.

Quick Start

Configure at least one asynchronous channel (via ServiceContext) and annotate handlers with #[Asynchronous] to start background processing.

Frequently Asked Questions about ecotone-asynchronous

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I process event handlers asynchronously in PHP without blocking the main execution thread?▼

Asynchronous message processing offloads work from the main execution thread by routing command and event handlers to background message channels. This enables non-blocking processing and reliable delivery for tasks like background notifications.

Can I delay or schedule message delivery in Ecotone for background processing?▼

Delayed and scheduled message delivery controls background processing timing using #[Delayed] and #[Scheduled] annotations. These features allow precise execution timing for time-sensitive asynchronous tasks.

What's the best way to set up dynamic channel routing for multi-tenant asynchronous messaging?▼

Dynamic channel routing provides enterprise options for multi-tenant setups by directing messages across multiple handlers. Named asynchronous channels configured via #[ServiceContext] manage the routing logic.

How do I configure priority and time-to-live for asynchronous messages?▼

Asynchronous messages support priority and time-to-live control via the #[Priority] and #[TimeToLive] annotations. These features manage processing order and message expiration within background channels.

Do I need to define a ServiceContext to start routing commands to asynchronous channels?▼

Configuring at least one asynchronous channel via #[ServiceContext] is required before annotating handlers with #[Asynchronous]. This setup enables background processing by establishing the necessary routing infrastructure.