summaryrefslogtreecommitdiff
path: root/modules/gallery/helpers/task.php
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-07-07 21:20:37 -0700
committerBharat Mediratta <bharat@menalto.com>2009-07-07 21:20:37 -0700
commit74d4a4c0fd0d1aa2e93e62397b0b0a10d55b986d (patch)
tree70d5a48fc8bfcf0a7db0ceb94d284d6df38c92f0 /modules/gallery/helpers/task.php
parentfaabae5dae712ebff656abe8ebc493d8e031d4a3 (diff)
parent6ac5238b83d58824eb9327406a2ee50b7e603214 (diff)
Merge branch 'master' of git@github.com:/gallery/gallery3
Diffstat (limited to 'modules/gallery/helpers/task.php')
-rw-r--r--modules/gallery/helpers/task.php19
1 files changed, 16 insertions, 3 deletions
diff --git a/modules/gallery/helpers/task.php b/modules/gallery/helpers/task.php
index a8a004ab..6a9f63c2 100644
--- a/modules/gallery/helpers/task.php
+++ b/modules/gallery/helpers/task.php
@@ -56,6 +56,8 @@ class task_Core {
}
$task->done = 1;
$task->state = "cancelled";
+ $task->log(t("Task %task_name cancelled (task id %task_id)",
+ array("task_name" => $task->name, "task_id" => $task->id)));
$task->save();
return $task;
@@ -74,9 +76,20 @@ class task_Core {
throw new Exception("@todo MISSING_TASK");
}
- $task->state = "running";
- call_user_func_array($task->callback, array(&$task));
- $task->save();
+ try {
+ $task->state = "running";
+ call_user_func_array($task->callback, array(&$task));
+ if ($task->done) {
+ $task->log($task->status);
+ }
+ $task->save();
+ } catch (Exception $e) {
+ $task->log($e->__toString());
+ $task->state = "error";
+ $task->done = true;
+ $task->status = $e->getMessage();
+ $task->save();
+ }
return $task;
}