summaryrefslogtreecommitdiff
path: root/plugins/YammerImport/lib/yammerqueuehandler.php
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-09-28 15:45:00 -0700
committerBrion Vibber <brion@pobox.com>2010-09-28 15:59:29 -0700
commit62d9b66dffb0000122cd611a9d991da008f9a527 (patch)
tree39911f2ab88c83edd916d9167d5b8aa1222db222 /plugins/YammerImport/lib/yammerqueuehandler.php
parentc62e4d08008faf7fdfb67f0e5eda3db6d8d1ceef (diff)
Made YammerImport more robust against errors; can now pause/resume/reset the import state from the admin interface.
Diffstat (limited to 'plugins/YammerImport/lib/yammerqueuehandler.php')
-rw-r--r--plugins/YammerImport/lib/yammerqueuehandler.php23
1 files changed, 13 insertions, 10 deletions
diff --git a/plugins/YammerImport/lib/yammerqueuehandler.php b/plugins/YammerImport/lib/yammerqueuehandler.php
index acc807311..0c4e8aec1 100644
--- a/plugins/YammerImport/lib/yammerqueuehandler.php
+++ b/plugins/YammerImport/lib/yammerqueuehandler.php
@@ -38,21 +38,24 @@ class YammerQueueHandler extends QueueHandler
{
$runner = YammerRunner::init();
if ($runner->hasWork()) {
- if ($runner->iterate()) {
- if ($runner->hasWork()) {
- // More to do? Shove us back on the queue...
- $runner->startBackgroundImport();
+ try {
+ if ($runner->iterate()) {
+ if ($runner->hasWork()) {
+ // More to do? Shove us back on the queue...
+ $runner->startBackgroundImport();
+ }
+ }
+ } catch (Exception $e) {
+ try {
+ $runner->recordError($e->getMessage());
+ } catch (Exception $f) {
+ common_log(LOG_ERR, "Error while recording error in Yammer background import: " . $e->getMessage() . " " . $f->getMessage());
}
- return true;
- } else {
- // Something failed?
- // @fixme should we be trying again here, or should we give warning?
- return false;
}
} else {
// We're done!
common_log(LOG_INFO, "Yammer import has no work to do at this time; discarding.");
- return true;
}
+ return true;
}
}