php-ec

Event Stream correlation engine for PHP

MIT License

Downloads
3.5K
Stars
1
Committers
2

Bot releases are visible (Hide)

php-ec - Cron in Batch mode Latest Release

Published by lucasnetau 3 months ago

Fix up handling of Cron rules when running in batch mode

php-ec - Bad copypaste

Published by lucasnetau 6 months ago

Fix regression with looking up the first and last events

php-ec - Small improvements

Published by lucasnetau 6 months ago

Micro optimisation for checking if various queues have values or now
Bug fix for Cron events triggering timeout
Attempt to save application state in the event that we are unable to encode as JSON

php-ec - Race to exit

Published by lucasnetau 8 months ago

Fix up an race condition where on Alpine linux waitpid() shows the process as still running when the stdout of the process has been closed.
Bug fix for accessing a nonexistent array key when attempting to load a source function that is not defined

php-ec - Triggered inputs

Published by lucasnetau 9 months ago

Give Rules the ability to request the Scheduler to run an additional input process to gather more data

php-ec - Round up release

Published by lucasnetau 10 months ago

Support defining code based input sources and actions.

  • Input Source functions are defined via extending the SourceFunction class
  • Action functions
  • Loop is initialised in the Scheduler constructors instead of delaying till run()
  • Input and Action processes can be defined using an array of parameters rather than an escaped string
  • Improved startup recovery and system state table
  • Reduced memory and cycles by using spl_object_id instead of spl_object_hash
  • Logs and exit if a rule throws
  • Support setting process names for child processes
php-ec - Error edge case

Published by lucasnetau over 1 year ago

Correctly detect if error recovery was successful
Constructor for Event objects can now accept a DateTimeInterface or a unixtime int for setting datetime

Full Changelog: https://github.com/lucasnetau/php-ec/compare/v0.5.7...v0.5.8

php-ec - Incremental Improvements

Published by lucasnetau over 1 year ago

Improve Signal handling
Improve save state failures
Improve admin console

  • can defined a HOST and PORT via ENV
  • JIT statistics now displayed
php-ec - Increase JSON buffer

Published by lucasnetau over 1 year ago

State may be bigger than the default 64K for JSON decoding. Increase the buffer to 10MB

php-ec - Improve failed save handling

Published by lucasnetau over 1 year ago

Small bug fixes

php-ec - PHP8.2 Support

Published by lucasnetau over 1 year ago

Add AllowDynamicProperties attribute to Event class to silence PHP8.2 deprecation notice
Various small improvements

php-ec - Drop the CPU

Published by lucasnetau over 1 year ago

Replaced React\Filesystem with a Child Process based offload for save state saving, a huge reduction in CPU time and reduced external dependancies
Opcache statistics are now visible in the administration interface

php-ec - Heartbeat delay

Published by lucasnetau over 1 year ago

Allow heartbeat to have a delayed startup.

php-ec - Heartbeat

Published by lucasnetau over 1 year ago

Add a configurable realtime heartbeat event to be injected into a running engine

php-ec - Failed Action Recovery

Published by lucasnetau over 1 year ago

Implement failed action recovery on restart by replaying actions before starting up any input processes. This could be failed actions due to engine failure (killed by OOM or hardware failure) or due to a misconfiguration or resource unavailability (eg database offline)

Add in additional metrics for tracking how long it takes to do the async save time and size of the save state file, exposed via the management server.

Add $essential flag to input processes to shutdown the engine if the process fails to start or shutdowns cleanly

Full Changelog: https://github.com/lucasnetau/php-ec/compare/v0.4.4...v0.5

php-ec - Logger

Published by lucasnetau almost 2 years ago

Add a PSR3 compatible logging facility for processes to log back centrally to the scheduler

php-ec - Cron

Published by lucasnetau almost 2 years ago

Adds a Cron like rule to execute actions or generate events based on a cron expression schedule, or engine startup or shutdown.
Add in logic to restart failed input processes

php-ec - Remove debug text

Published by lucasnetau about 2 years ago

Remove debug text from SysInfo

php-ec - Improved memory limit detection

Published by lucasnetau about 2 years ago

Use additional inputs of physical/vm memory and cgroups limits in calculating the amount of memory available to the scheduler.

php-ec - Improved Callbacks

Published by lucasnetau about 2 years ago

Add in support for onComplete(), onTimeout(), onProgress() called by fire(), makes for cleaner rules.
Also split acceptEvent into acceptInitialEvent() and acceptSubsequentEvent() to remove boilerplate for setting up and crosschecking context.

Package Rankings
Top 20.45% on Packagist.org
Badges
Extracted from project README
FOSSA Status FOSSA Status