Skip to content

LiquidRazor/ProcessEvents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LiquidRazor ProcessEvents

liquidrazor/process-events is a small provider library of concrete runtime process event implementations for the LiquidRazor ecosystem.

It provides immutable worker lifecycle events, immutable outbound external call lifecycle events, and the small typed metadata/value objects those events use.

It does not provide event infrastructure. This package does not define contracts, dispatch events, register listeners, orchestrate runtime behavior, or implement retry/timeout/cancellation policy engines.

Requirements

  • PHP ^8.3
  • liquidrazor/event-manager:^0.1

Installation

composer require liquidrazor/process-events

Contract Boundary

All event contracts come from liquidrazor/event-manager.

  • Events in this package implement LiquidRazor\EventManager\Contracts\ProcessEventInterface
  • This package does not redefine ProcessEventInterface or any immutable/base event contract locally

Event Catalog

Worker lifecycle events:

  • WorkerSpawnedEvent
  • WorkerStartedEvent
  • WorkerFinishedEvent
  • WorkerCrashedEvent

External call lifecycle events:

  • ExternalCallStartedEvent
  • ExternalCallSucceededEvent
  • ExternalCallFailedEvent
  • ExternalCallRetryRequestedEvent
  • ExternalCallRetriedEvent
  • ExternalCallTimedOutEvent
  • ExternalCallCancelledEvent

Metadata Model

Worker metadata/value objects:

  • WorkerIdentity
  • WorkerTermination
  • WorkerCrash

External call metadata/value objects:

  • CallIdentity
  • AttemptNumber
  • ExternalCallReference
  • ExternalTarget
  • ExternalOperation
  • ExternalTransport
  • ExternalCallDescriptor
  • ExternalCallTiming
  • ExternalCallFailure
  • ExternalCallRetry
  • ExternalCallTimeout
  • ExternalCallCancellation

The external call model distinguishes the logical call identity from the individual attempt number. Retries preserve the same CallIdentity while AttemptNumber changes.

Package Structure

include/
  Metadata/
lib/
  Worker/
  ExternalCall/
src/
  • include/ contains reusable typed metadata/value objects
  • lib/ contains the concrete event classes
  • src/ is reserved for minimal package glue and is currently empty

What This Package Is Not

This package is not:

  • event infrastructure
  • a contract-definition package
  • a dispatcher
  • a listener/subscriber system
  • a runtime orchestration engine
  • a retry/timeout/cancellation policy engine
  • a transport adapter package
  • a kernel-state event package

Transport-specific runtime objects must be normalized before they enter this package. The public API is typed metadata, not PSR-7 objects, SDK responses, cURL handles, or client-library exceptions.

Documentation

About

Reusable PHP 8.3+ library providing concrete runtime process event implementations for the LiquidRazor ecosystem.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages