Bot releases are hidden (Show)
Published by lucasnetau over 2 years ago
Provide Rule child classes to cover some of the standard code required for each rule type
Published by lucasnetau over 2 years ago
Improve shutdown handling when actions exit on their own before input processes have exited
BugFixes
Published by lucasnetau over 2 years ago
Implement a basic HTTP management server to view into the state of a running Scheduler
Published by lucasnetau over 2 years ago
Remove TimeBucket dependancy as it is not a hard requirement for PHP-EC
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
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.
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.
Published by lucasnetau about 3 years ago
Add unhandled exception handling to the ActionHelper class
Support millisecond granularity of events
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
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.
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
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
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
Published by lucasnetau about 3 years ago
BugFix: Handle the error generated if an input source process emits non JSONRPC data on stdout
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
Published by lucasnetau over 3 years ago
Rework MatchAny logic
Committed basic tests to show basic event processing functionality
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.
Published by lucasnetau over 3 years ago
Fix issue with functions and implicit flushing function call in PHP < 8.0
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.
Published by lucasnetau almost 4 years ago