[Jifty-commit] r574 - jifty/trunk/lib/Jifty

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Sun Feb 12 15:34:02 EST 2006


Author: jesse
Date: Sun Feb 12 15:34:01 2006
New Revision: 574

Modified:
   /   (props changed)
   jifty/trunk/lib/Jifty/Config.pm
   jifty/trunk/lib/Jifty/Handler.pm
   jifty/trunk/lib/Jifty/Web/Session.pm

Log:
 r23609 at truegrounds:  jesse | 2006-02-12 14:38:07 -0500
 * Use explicit session and data directories. This should get rid of all those apache sessions in /tmp


Modified: jifty/trunk/lib/Jifty/Config.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Config.pm	(original)
+++ jifty/trunk/lib/Jifty/Config.pm	Sun Feb 12 15:34:01 2006
@@ -229,6 +229,8 @@
             Web        => {
                 DefaultStaticRoot => Jifty::Util->share_root . '/web/static',
                 DefaultTemplateRoot => Jifty::Util->share_root . '/web/templates',
+                SessionDir  => "var/session",
+                DataDir     => "var/mason",
                 StaticRoot   => "web/static",
                 TemplateRoot => "web/templates",
                 MasonConfig => {
@@ -236,7 +238,6 @@
                     error_mode   => 'fatal',
                     error_format => 'text',
                     default_escape_flags => 'h',
-                    #plugins      => ['Jifty::Mason::Halo'],
                 },
                 Globals      => [],
             },

Modified: jifty/trunk/lib/Jifty/Handler.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Handler.pm	(original)
+++ jifty/trunk/lib/Jifty/Handler.pm	Sun Feb 12 15:34:01 2006
@@ -37,10 +37,29 @@
     my $class = shift;
     my $self = {};
     bless $self, $class;
+
+    $self->create_cache_directories();
+
     return $self;
 }
 
 
+=head2 create_cache_directories
+
+Attempts to create our app's session storage and mason cache directories.
+
+=cut
+
+sub create_cache_directories {
+    my $self = shift;
+
+    for ( Jifty->config->framework('Web')->{'SessionDir'},
+          Jifty->config->framework('Web')->{'DataDir'}) {
+        Jifty::Util->make_path( Jifty::Util->absolute_path($_) );
+    }
+}
+
+
 =head2 mason_config
 
 Returns our Mason config.  We use the component root specified in the
@@ -56,6 +75,7 @@
     my %config = (
         static_source => 1,
         use_object_files => 1,
+        data_dir =>  Jifty::Util->absolute_path( Jifty->config->framework('Web')->{'DataDir'} ),
         allow_globals => [qw[$JiftyWeb], @{Jifty->config->framework('Web')->{'Globals'} || []}],
         comp_root     => [ 
                           [application =>  Jifty::Util->absolute_path( Jifty->config->framework('Web')->{'TemplateRoot'} )],

Modified: jifty/trunk/lib/Jifty/Web/Session.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Web/Session.pm	(original)
+++ jifty/trunk/lib/Jifty/Web/Session.pm	Sun Feb 12 15:34:01 2006
@@ -62,19 +62,22 @@
     $Storable::Deparse = 1;
     $Storable::Eval    = 1;
     my %session;
+
+    my $session_dir = Jifty::Util->absolute_path( Jifty->config->framework('Web')->{'SessionDir'} );
+
     eval {
         tie %session, 'Apache::Session::File', ( $session_id ? $session_id : undef ),
                 {
-                 Directory     => '/tmp',
-                 LockDirectory => '/tmp',
+                 Directory     => $session_dir,
+                 LockDirectory => $session_dir,
                 };
 
             };
     if ($@) {
         tie %session, 'Apache::Session::File', undef,
                 {
-                 Directory     => '/tmp',
-                 LockDirectory => '/tmp',
+                 Directory     => $session_dir,
+                 LockDirectory => $session_dir,
                 };
     }
 


More information about the Jifty-commit mailing list