API:EPrints/Plugin/Event: Difference between revisions
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 |
||
| (One intermediate revision by the same user not shown) | |||
| 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 --> | ||
| Line 8: | Line 8: | ||
EPrints::Plugin::Event | EPrints::Plugin::Event | ||
< | <!-- Pod2Wiki=_private_ --><!-- Edit below this comment --> | ||
<!-- Edit below this comment --> | |||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
<!-- Pod2Wiki=head_description --> | |||
==DESCRIPTION== | ==DESCRIPTION== | ||
Event plugins are called by the indexer to actually do work. [[API:EPrints/DataObj/EventQueue|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. | Event plugins are called by the indexer to actually do work. [[API:EPrints/DataObj/EventQueue|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. | ||
| Line 25: | Line 22: | ||
Events also support scheduled (or repeating) events by calling [[API:EPrints/Plugin/Event#cron|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. | Events also support scheduled (or repeating) events by calling [[API:EPrints/Plugin/Event#cron|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. | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
<!-- Pod2Wiki=head_synopsis --> | <!-- Pod2Wiki=head_synopsis --> | ||
==SYNOPSIS== | ==SYNOPSIS== | ||
<source lang="perl">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", | |||
], | |||
});</source> | |||
< | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
<!-- Pod2Wiki=head_copyright --> | <!-- Pod2Wiki=head_copyright --> | ||
==COPYRIGHT== | ==COPYRIGHT== | ||
Copyright 2000-2011 University of Southampton. | |||
This file is part of EPrints http://www.eprints.org/. | |||
EPrints is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. | |||
EPrints is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. | |||
You should have received a copy of the GNU Lesser General Public License along with EPrints. If not, see http://www.gnu.org/licenses/. | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
<!-- Pod2Wiki=_postamble_ --> | |||
<!-- Pod2Wiki=_postamble_ --><!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
Latest revision as of 09:56, 22 January 2013
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
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
Copyright 2000-2011 University of Southampton.
This file is part of EPrints http://www.eprints.org/.
EPrints is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
EPrints is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with EPrints. If not, see http://www.gnu.org/licenses/.