Forward porting singleton warn vs error for Cron.

This commit is contained in:
Colin Kuskie 2008-12-08 19:21:12 +00:00
parent a30d4140d9
commit aabec44de8
3 changed files with 11 additions and 2 deletions

View file

@ -4,8 +4,8 @@
- fixed #4173: fieldnames in profilefields can contain spaces
- fixed #8811: Bug Tracker: Formatting is bad for the resolution form.
- fixed #9235: Image Bug in rich text editor.
- fixed #9219: Thingy After Save Search This Thing not showing all rows (SDH
Consulting Group)
- fixed #9219: Thingy After Save Search This Thing not showing all rows (SDH Consulting Group)
- fixed #9231: Singleton workflows should not report an error when an attempt is made to run them again
7.6.5
- security: A problem was discovered and fixed in which users could email executable attachments to a collaboration system and then when viewed online, could execute them.

View file

@ -291,6 +291,13 @@ sub www_runCronJob {
priority => $task->get("priority"),
});
if ( !$instance ) {
if ($session->stow->get('singletonWorkflowClash')) {
$session->errorHandler->warn(
"Could not create workflow instance for workflowId '" . $task->get( "workflowId" )
. "': It is a singleton workflow and is still running from the last invocation."
);
return "done";
}
$session->errorHandler->error(
"Could not create workflow instance for workflowId '" . $task->get( "workflowId" )
. "': The result was undefined"

View file

@ -73,8 +73,10 @@ sub create {
$sql .= ' and parameters IS NULL';
}
my ($count) = $session->db->quickArray($sql,$placeHolders);
$session->stow->set('singletonWorkflowClash', 0);
if ($isSingleton && $count) {
$session->log->info("An instance of singleton workflow $properties->{workflowId} already exists, not creating a new one");
$session->stow->set('singletonWorkflowClash', 1);
return undef
}