Difference between revisions of "API:EPrints/Plugin/Event"
(Created page with '<!-- Pod2Wiki=_preamble_ This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' com…') |
(No difference)
|
Revision as of 10:57, 25 August 2011
EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects
Latest Source Code (3.4, 3.3) | Revision Log | Before editing this page please read Pod2Wiki
Contents
NAME
EPrints::Plugin::Event
DESCRIPTION
Event plugins are called by the indexer to actually do work. EPrints::DataObj::EventQueue objects are stored in the database and executed once their start_time is due. The object contains the plugin ID, action and optionally parameters.
Action is the sub called on the plugin. This sub must return undef or a valid response constant recognised by EPrints::DataObj::EventQueue/execute.
Parameters can contain any Perl data structure that can be serialised by Storable. As a special case parameters that look like an internal id are re-instantiated as the referenced object before the plugin action is called.
Events also support scheduled (or repeating) events by calling cron on this class with the actual plugin id/action/parameters to call. The scheduled event isn't called directly but is triggered via a new event object with a start_time of now.
SYNOPSIS
EPrints::DataObj::EventQueue->create_unique( $repo, { pluginid => "Event::Hello", action => "hello", params => ["John Smith"], }); EPrints::DataObj::EventQueue->create_unique( $repo, { pluginid => "Event", action => "cron", params => ["0,15,30,45 * * * *", "Event::Hello", "hello", "John Smith", ], });
COPYRIGHT