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.