Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove cookie jar files left by the HttpProxy asset. Finishes the fix…
… for bug #12327.
- Loading branch information
1 parent
604887f
commit 07bd545
Showing
4 changed files
with
130 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
package WebGUI::Workflow::Activity::CleanCookieJars; | ||
|
||
|
||
=head1 LEGAL | ||
------------------------------------------------------------------- | ||
WebGUI is Copyright 2001-2012 Plain Black Corporation. | ||
------------------------------------------------------------------- | ||
Please read the legal notices (docs/legal.txt) and the license | ||
(docs/license.txt) that came with this distribution before using | ||
this software. | ||
------------------------------------------------------------------- | ||
http://www.plainblack.com info@plainblack.com | ||
------------------------------------------------------------------- | ||
=cut | ||
|
||
use strict; | ||
use base 'WebGUI::Workflow::Activity'; | ||
use WebGUI::International; | ||
use WebGUI::Storage; | ||
use File::Basename (); | ||
use File::Spec; | ||
|
||
=head1 NAME | ||
Package WebGUI::Workflow::Activity::CleanCookieJars | ||
=head1 DESCRIPTION | ||
Cleans up stale cookie jars | ||
=head1 SYNOPSIS | ||
See WebGUI::Workflow::Activity for details on how to use any activity. | ||
=head1 METHODS | ||
These methods are available from this class: | ||
=cut | ||
|
||
|
||
#------------------------------------------------------------------- | ||
|
||
=head2 definition ( session, definition ) | ||
See WebGUI::Workflow::Activity::defintion() for details. | ||
=cut | ||
|
||
sub definition { | ||
my $class = shift; | ||
my $session = shift; | ||
my $definition = shift; | ||
my $i18n = WebGUI::International->new( $session, "Workflow_Activity_CleanCookieJars" ); | ||
push(@{$definition}, { | ||
name => $i18n->get("activity cleanup cookie jars"), | ||
properties => {} | ||
}); | ||
return $class->SUPER::definition($session,$definition); | ||
} | ||
|
||
|
||
#------------------------------------------------------------------- | ||
|
||
=head2 execute ( ) | ||
See WebGUI::Workflow::Activity::execute() for details. | ||
=cut | ||
|
||
sub execute { | ||
my $self = shift; | ||
my $session = $self->session; | ||
# keep track of how much time it's taking | ||
my $stop_time = time + $self->getTTL; | ||
|
||
my $get_proxy = $session->db->read('select assetId, revisionDate, cookieJarStorageId from HttpProxy'); | ||
STORAGEID: while (1) { | ||
my ($assetId, $revisionDate, $storageId,) = $get_proxy->array(); | ||
last STORAGEID unless $storageId; | ||
my $storage = WebGUI::Storage->get($session, $storageId); | ||
next unless $storage; | ||
opendir my $directory, $storage->getPath; | ||
FILE: while (my $file = readdir($directory)) { | ||
next FILE if $file =~ /^\./; | ||
my $whole_file = $storage->getPath($file); | ||
if (-M $whole_file >=1) { | ||
unlink $whole_file; | ||
} | ||
last STORAGEID if time > $stop_time; | ||
} | ||
} | ||
return $self->WAITING(1) if time > $stop_time; | ||
return $self->COMPLETE; | ||
} | ||
|
||
1; | ||
|
||
|
12 changes: 12 additions & 0 deletions
12
lib/WebGUI/i18n/English/Workflow_Activity_CleanCookieJars.pm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package WebGUI::i18n::English::Workflow_Activity_CleanCookieJars; | ||
use strict; | ||
|
||
our $I18N = { | ||
'activity cleanup cookie jars' => { | ||
message => q|Clean Stale Cookie-Jar Files|, | ||
context => q|The name of this workflow activity.|, | ||
lastUpdated => 0, | ||
}, | ||
}; | ||
|
||
1; |