⧼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
 
(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


<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
<!-- Pod2Wiki=_private_ --><!-- Edit below this comment -->
<span style='display:none'>User Comments</span>
<!-- Edit below this comment -->




<!-- Pod2Wiki= -->
<!-- Pod2Wiki= -->
</div>
<!-- Pod2Wiki=head_description -->
<!-- Pod2Wiki=_private_ --><!-- 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.


<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
<span style='display:none'>User Comments</span>
<!-- Edit below this comment -->
<!-- Edit below this comment -->




<!-- Pod2Wiki= -->
<!-- Pod2Wiki= -->
</div>
<!-- Pod2Wiki=head_synopsis -->
<!-- Pod2Wiki=head_synopsis -->
==SYNOPSIS==
==SYNOPSIS==
  EPrints::DataObj::EventQueue-&gt;create_unique( $repo, {
<source lang="perl">EPrints::DataObj::EventQueue->create_unique( $repo, {
    pluginid =&gt; "Event::Hello",
pluginid => "Event::Hello",
    action =&gt; "hello",
action => "hello",
    params =&gt; ["John Smith"],
params => ["John Smith"],
  });
});
 
 
  EPrints::DataObj::EventQueue-&gt;create_unique( $repo, {
EPrints::DataObj::EventQueue->create_unique( $repo, {
    pluginid =&gt; "Event",
pluginid => "Event",
    action =&gt; "cron",
action => "cron",
    params =&gt; ["0,15,30,45 * * * *",
params => ["0,15,30,45 * * * *",
      "Event::Hello",
"Event::Hello",
      "hello",
"hello",
      "John Smith",
"John Smith",
    ],
],
  });
});</source>
 
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
<span style='display:none'>User Comments</span>
<!-- Edit below this comment -->
<!-- Edit below this comment -->




<!-- Pod2Wiki= -->
<!-- Pod2Wiki= -->
</div>
<!-- Pod2Wiki=head_copyright -->
<!-- Pod2Wiki=head_copyright -->
==COPYRIGHT==
==COPYRIGHT==
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #ccepadding: 0em 1em 0em 1em; font-size: 80%; '>
Copyright 2000-2011 University of Southampton.
<span style='display:none'>User Comments</span>
 
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= -->
</div>
<!-- Pod2Wiki=_postamble_ -->
<!-- Pod2Wiki=_postamble_ --><!-- Edit below this comment -->
<!-- Edit below this comment -->

Latest revision as of 09:56, 22 January 2013

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/.