⧼vector-jumptocontent⧽

API:EPrints/Plugin/Event: Difference between revisions

From EPrints Documentation
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 edit summary
Line 1: Line 1:
<!-- Pod2Wiki=_preamble_  
<!-- 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' comments will be lost.
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.
  -->{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/Plugin/Event.pm|package_name=EPrints::Plugin::Event}}[[Category:API|EVENT]][[Category:API:EPrints/Plugin|EVENT]][[Category:API:EPrints/Plugin/Event|EVENT]]<div><!-- Edit below this comment -->
  -->{{API}}{{Pod2Wiki}}{{API:Source|file=perl_lib/EPrints/Plugin/Event.pm|package_name=EPrints::Plugin::Event}}[[Category:API|EVENT]][[Category:API:EPrints/Plugin|EVENT]][[Category:API:EPrints/Plugin/Event|EVENT]]<div><!-- Edit below this comment -->





Revision as of 15:26, 16 December 2011

Latest Source Code (3.4, 3.3) | Revision Log | Before editing this page please read Pod2Wiki


NAME

EPrints::Plugin::Event

User Comments


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.

User Comments


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",
   ],
 });
 

User Comments


COPYRIGHT

User Comments