The following lines use create_dataobj, when they should use create_unique. This would save multiple instances of the same task being created:
|
$repo->dataset( "event_queue" )->create_dataobj({ |
|
pluginid => "Event::DataCiteEvent", |
|
action => "datacite_doi", |
|
params => [ $dataobj->internal_uri, $dataobj_doi ], |
|
}); |
|
$repo->dataset( "event_queue" )->create_dataobj({ |
|
pluginid => "Event::DataCiteEvent", |
|
action => "datacite_doi", |
|
params => [ $dataobj->internal_uri, $dataobj_doi ], |
|
}); |
|
$dc = $datacite_ds->create_dataobj( |
|
{ |
|
datasetid => $class, |
|
objectid => $dataobj->id |
|
} |
|
); |
Also, they will benefit from the web (i..e user) request prioritisation of event queue tasks in eprints/eprints3.4#581 coming in EPrints v3.4.8.
Change should just be a simple replacement of create_dataobj with create_unique.
The following lines use create_dataobj, when they should use create_unique. This would save multiple instances of the same task being created:
DataCiteDoi/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm
Lines 287 to 291 in bbd1166
DataCiteDoi/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm
Lines 322 to 326 in bbd1166
DataCiteDoi/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm
Lines 432 to 437 in bbd1166
Also, they will benefit from the web (i..e user) request prioritisation of event queue tasks in eprints/eprints3.4#581 coming in EPrints v3.4.8.
Change should just be a simple replacement of
create_dataobjwithcreate_unique.