From ca1f5e1c86a991057a5ad2bc84f83b275904cae2 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Sun, 23 May 2010 19:04:10 -0700 Subject: [PATCH] ArchiveOldStories activity has to obey the TTL for activities. --- lib/WebGUI/Workflow/Activity/ArchiveOldStories.pm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/WebGUI/Workflow/Activity/ArchiveOldStories.pm b/lib/WebGUI/Workflow/Activity/ArchiveOldStories.pm index ef1ef36d5..bccad7e05 100644 --- a/lib/WebGUI/Workflow/Activity/ArchiveOldStories.pm +++ b/lib/WebGUI/Workflow/Activity/ArchiveOldStories.pm @@ -72,6 +72,7 @@ sub execute { my $self = shift; my $session = $self->session; my $epoch = time(); + my $expireTime = $epoch + $self->getTTL(); my $getAnArchive = WebGUI::Asset::Wobject::StoryArchive->getIsa($session); ARCHIVE: while (my $archive = $getAnArchive->()) { next ARCHIVE unless $archive && $archive->get("archiveAfter"); @@ -92,6 +93,9 @@ sub execute { STORY: foreach my $story (@{ $stories }) { next STORY unless $story; $story->update({ status => 'archived' }); + if (time() > $expireTime) { + return $self->WAITING(1); + } } $folder->update({ status => 'archived' }); }