Revision history for Async-Event-Interval
1.08 2022-03-03
- Added pid(), getter-only wrapper for _pid()
- Added example of using shared data with IPC::Shareable
1.07 2022-03-03
- interval() no longer requires stop/start of event to take effect
- Re-arranged initialization routine to allow for the above
- Interval is now stored in the %events shared hash so that the event can
access it directly
1.06 2022-03-03
- Class level hash that contains information about all existing events
now lives in shared memory so we can track operation informtion from
within the events themselves
- Added runs() method, tracks the number of callback executions of an
event
- Added errors() method, tracks the number of times a callback fails
- Added error_message() method, stores the most recent error message
from the callback if an error has been logged
- Modified _shm_rand_key() to return a 12-char ALPHA string
- Updated tests to ensure they destroy any shared memory segments they
create
1.05 2022-03-01
- We now wait interval time before executing the event for the first time
- Added error(), returns error status instead of using status() == -1
- status() no longer sets -1. We now use error() for that
1.04 2021-05-11
- Fix issue in t/45-params.t where done_testing() may have been called
multiple times (fixes #5)
- Fix issue where _rand_shm_key() could generate non-unique shared memory
segment keys (fixes #4)
1.03 2021-05-05
- Added events() class function, returns hash reference details of each
event that's been created
- Added id() object method; returns the ID of the event
- Added info() object method; returns an href of details about the event
- Added shared_scalar() object method; Returns a reference to a scalar
that resides in shared memory. We use IPC::Shareable for the backend
- Fixed issue where fractional seconds weren't being honoured
- POD updates, including a new SYNOPSIS
- Added accessor methods for most object attributes
1.02 2021-04-15
- Updated shared data example to be a scalar
- Update t/10-shared.t as it was failing under MacOS/FreeBSD
1.01 2021-04-14
- If interval is set to zero, we'll run only once
- Added IPC::Shareable as prerequisite
- Added waiting(), checks to see if an event is ready to start/restart
1.00 2018-01-23
- modified t/15-interval.t with some timing changes to prevent CPAN
Testers failures
- added t/45-params.t to cover cases where we send in parameters to the
event
- added an EXAMPLE to display how to send in params to the event
callback
0.05 2017-10-20
- POD fix (indenting examples)
- bump copyright to 2017
0.04 2017-10-19
- added examples/shared.pl, shared variable between all events and
the parent
- major overhaul on PID handling which provided the ability to rework
status() to be much more reliable (and effective)
- we now set $SIG{CHLD}="IGNORE" to avoid defunct processes
- added Carp (croak) for all fatal errors
- status() now returns -1 if an event has crashed, providing the user
with the ability to restart the event, or take other action
- added examples/timeout.pl and examples/event_crash.pl
0.03 2016-10-16
- removed restart(), and aliased it instead to start()
- fixed issue in an already-running warn on start(), and added status()
to check the running status of an event (closes #1)
0.02 2016-09-24
- POD fixes
0.01 Date/time
- First version, released on an unsuspecting world.