php-ec

Event Stream correlation engine for PHP

MIT License

Downloads
3.5K
Stars
1
Committers
2

Bot releases are hidden (Show)

php-ec - Rule Child Classes

Published by lucasnetau over 2 years ago

Provide Rule child classes to cover some of the standard code required for each rule type

php-ec - Shutdown Order

Published by lucasnetau over 2 years ago

Improve shutdown handling when actions exit on their own before input processes have exited
BugFixes

php-ec - Management Server

Published by lucasnetau over 2 years ago

Implement a basic HTTP management server to view into the state of a running Scheduler

php-ec - Update TimeBucket dependancies

Published by lucasnetau over 2 years ago

Remove TimeBucket dependancy as it is not a hard requirement for PHP-EC

php-ec - Bug Fix

Published by lucasnetau almost 3 years ago

Fix instances that may have the old PHP7.4+ serialisation format from v0.2.10-v0.2.12

php-ec - Custom Object Serialisation support

Published by lucasnetau almost 3 years ago

Implement support for PHP7.4+ custom object serialisation https://wiki.php.net/rfc/custom_object_serialization. This introduces a new format for the save file, the older serialize/unserialize methods are left to support restoring previous version state files. This fixes deprecation messages from PHP8.1 which has deprecated the Serializable Interface.

More pedantic validation when restoring state and early failure and exit if we cannot load from saved state.

php-ec - Improved Error Handling

Published by lucasnetau almost 3 years ago

Improve our error handling for source and action processes. Setup sensible ini params and error handlers when requested to ensure we don't leak warnings/errors etc down the interprocess pipes.

php-ec - Error Handling

Published by lucasnetau about 3 years ago

  • Add unhandled exception handling to the ActionHelper class

  • Support millisecond granularity of events

php-ec - Infinite Loop

Published by lucasnetau about 3 years ago

Fix an Infinite Recursion Loop bug that could be triggered by a timed out Rule that emits an event and does not set a flag prior to that to ensure it doesn't continue to emit the same event. The Scheduler will continue to process the event and give it to the Correlation Engine, which then checks timeouts creating the loop.

Small fix to shutdown process when all input processes exit unexpectedly

php-ec - Input/Action logging with levels

Published by lucasnetau about 3 years ago

Add JsonRPC method of log to the scheduler to allow input and action processes to send log messages along with a logLevel through to the scheduler to be added to the PSR3 log. This allows a log level to be recorded instead of being logged as an error coming via the STDERR pipe.

php-ec - Improved Shutdown

Published by lucasnetau about 3 years ago

Improve the shutdown process, extending to Rules and Actions
Change CorrelationEngine initialisation in the Scheduler to allow access to set the engine to live timing in subclasses

php-ec - Logging and Error Handling

Published by lucasnetau about 3 years ago

Support PSR-3 Loggers in the Scheduler code
Setup an additional timer to save application state at least once every 60 minutes

php-ec - Testing improvements

Published by lucasnetau about 3 years ago

Improvements to high memory usage processing, including timeout to ensure the engine doesn't sit with no work to do.
ReactPHP 1.2.0 support
PHP8.0 support
Additional improvements to logging

php-ec - Bug Fix: STDOUT error handling

Published by lucasnetau about 3 years ago

BugFix: Handle the error generated if an input source process emits non JSONRPC data on stdout

php-ec - General Improvements

Published by lucasnetau about 3 years ago

Bug Fix: Don't use json_encode magic JSON_NUMERIC_CHECK when saving state, some event ids could be converted from strings to scientific numbers preventing the restoration of state on next start

Improvement: PHP8 support (ob_implicit_flush signature change)
Improvement: Graceful shutdown of input processes before terminating scheduler
Improvement: Logging throughout the scheduler
Improvement: Normalise Event datetime to UTC timezone

php-ec - Bug Fix

Published by lucasnetau over 3 years ago

Rework MatchAny logic
Committed basic tests to show basic event processing functionality

php-ec - Bug Fix

Published by lucasnetau over 3 years ago

Fixed an issue where an even might complete after firing but was not cleaned up completely leading it to be written to the save file. On restore this would throw an error when the complete event handler was used.
Add in a EVENT_MATCH_ANY into the Correlation Engine to allow a Rule to handle any event
Fix php_cmd function to use the PHP constant PHP_BINARY instead of the environmental variable by the same name.

php-ec - BugFix Release

Published by lucasnetau over 3 years ago

Fix issue with functions and implicit flushing function call in PHP < 8.0

php-ec - PHP 7.4 support and additional features

Published by lucasnetau over 3 years ago

Upgrade minimal supported PHP version to 7.4, implement typed class attributes and typed function attributes and return values.
Add base Validate, Enrich, Filter class for processing new events
Add the ability for events emitted by rules (instead of actions) to be fed back into the engine instead of persisting via the newEventAction handler.
Save handler flush timer is now configurable every X seconds via setSaveStateInterval
async save hander will now ensure only a single save event is in progress at any one time. This fixes issues when the server is overloaded and the save write and flush to disk takes longer than the save state interval.

php-ec - v0.1.1

Published by lucasnetau almost 4 years ago

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