API:EPrints/DataObj/EventQueue
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[edit]
EPrints::DataObj::EventQueue - Scheduler/indexer event queue.
DESCRIPTION[edit]
Individual tasks for the EPrints event queue that can then be actioned by the EPrints indexer in the background.
CORE METADATA FIELDS[edit]
eventqueueid (uuid)[edit]
Either a UUID or a hash of the event (if created with create_unique).
cleanup (boolean)[edit]
If set to true removes this event once it has finished. Defaults to true.
priority (int)[edit]
The priority for this event.
start_time (time)[edit]
The event should not be executed before this time.
end_time (time)[edit]
The event was last touched at this time.
status (set)[edit]
The status of this event. Can be waiting, inprogress, success or failed. Defaults to failed.
description (longtext)[edit]
A human-readable description of this event (or error).
pluginid (id)[edit]
The EPrints::Plugin::Event plugin id to call to execute this event.
action (id)[edit]
The name of the action to execute on the plugin (i.e. method name).
params (storable)[edit]
Parameters to pass to the action (a text serialisation).
REFERENCES AND RELATED OBJECTS[edit]
userid (itemref)[edit]
The user (if any) that was responsible for creating this event.
INSTANCE VARIABLES[edit]
See EPrints::DataObj.
METHODS[edit]
Constructor Methods[edit]
create_unique[edit]
$event = EPrints::DataObj::EventQueue->create_unique( $session, $data, [ $dataset ] )
Returns a unique event queue task using the $data provided. Setting the eventqueueid to a MD5 hash of the pluginid, action and (if given) params.
Returns undef if such an event already exists.
If $dataset is not provided generate from dataset ID of the class.
new_from_hash[edit]
$event = EPrints::DataObj::EventQueue->new_from_hash( $session, $data, [ $dataset ] )
Returns the event that corresponds to the MD5 hash of the $data provided, (pluginid, action and params). Returns undef if no event queue task exists with a matching MD5 hash.
If $dataset is not provided generate from dataset ID of the class.
Class Methods[edit]
get_system_field_info[edit]
$metadata = EPrints::DataObj::EPrint->get_system_field_info
Returns an array describing the system metadata of the event queue dataset.
get_dataset_id[edit]
$dataset = EPrints::DataObj::EPrint->get_dataset_id
Returns the ID of the EPrints::DataSet object to which this record belongs.
Object Methods[edit]
execute[edit]
$ok = $event->execute()
Execute the action this event queue task describes.
The response from the EPrints::Plugin::Event plugin action is treated as follows:
undef - equivalent to HTTP_OK HTTP_OK - action succeeded, event is removed if cleanup is TRUE HTTP_RESET_CONTENT - action succeeded, event is set 'waiting' HTTP_NOT_FOUND - action failed, event is removed if cleanup is TRUE HTTP_LOCKED - action failed, event is re-scheduled for 10 minutes time HTTP_INTERNAL_SERVER_ERROR - action failed, event is 'failed' and kept
message[edit]
$event->message( $type, $message )
Utility method to log the $message for this event.
$type is required by this method but not currently used.
SEE ALSO[edit]
EPrints::DataObj and EPrints::DataSet.
COPYRIGHT[edit]
© Copyright 2000-2024 University of Southampton.
EPrints 3.4 is supplied by EPrints Services.
http://www.eprints.org/eprints-3.4/
LICENSE[edit]
This file is part of EPrints 3.4 http://www.eprints.org/.
EPrints 3.4 and this file are released under the terms of the GNU Lesser General Public License version 3 as published by the Free Software Foundation unless otherwise stated.
EPrints 3.4 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 3.4. If not, see http://www.gnu.org/licenses/.