Re: Looking for a new distro
On Sat, 13 Jan 2001, dreamwvr wrote: > Try .. > www.linux-mandrake.com > Jamie Krasnoo wrote: > Not to turn this into a distro war but mandrake is not exactly known for its stability. Redhat is currently in a .0 release which is not stable at all. Debian and Slackware are really your best bet for stability. Personally I recommend slackware. If you really want to stick with Redhat you can get a copy of 6.2 it is pretty standard. -- Sean Cook Systems Analyst Edutest.com Phone: 804.673.22531.888.335.8378 email: [EMAIL PROTECTED] __ Save the whales. Collect the whole set.
Re: Very WIRED error msg
> > Argument "OK" isn't numeric. > > Argument "OK" isn't numeric. > > Argument "OK" isn't numeric. > > Argument "OK" isn't numeric. > It looks like you are trying to check the return value from a mod_perl handler. my $foo = handler(); if($foo == 1){ # this won't work :) } sub handler { ... return OK; }
Re: Remembering Authentication
Why not just write the app to use session and store to the db. It is not hard to do. Auth to db/ldap cook up a digest with $$, username, and remote_ip. Store all userinfo in Storable object in the db/ldap. GET http://some.where.net/?sessionID= POST > No worrying about browser type, client configuration... you should be all set. Stay away from cookies. Cookies are bad when you have paying customers!!
Re: Fast DB access
On Wed, 11 Oct 2000, Differentiated Software Solutions Pvt. Ltd wrote: > Hi, > > We have an application where we will have to service as high as 50 queries a second. > We've discovered that most database just cannot keep pace. > > The only option we know is to service queries out of flat files. > Can somebody give us pointers o n what modules are available to create flat file >based database. > Specically we want a mechanism to be able service queries which can return rows >where values are greater than specified value. > We are experiementing currently with dbm and DB::File. These seem to handle hashes >quite comfortably. How do we handle these inequality queries. > Something you may want to consider if you are doing large numbers of read-only transactions on the DB, build them into a large complex data structure and load them, pre-fork, into ram. Store them in a package variable. It is extremely fast and scalable. Sean Cook Systems Analyst Edutest.com Phone: 804.673.22531.888.335.8378 email: [EMAIL PROTECTED] __ Save the whales. Collect the whole set.
[SOT] mod_perl on IBM s390
I know that rescently IBM has been successfull in running thousands of instances of linux on the H30-H70 series machines. I am wondering if anyone is using one of these beasts to run mod_perl in a production environment and what kind of millage you are getting. Thanks in advance for you input. Sean Cook Systems Analyst Edutest.com Phone: 804.673.22531.888.335.8378 email: [EMAIL PROTECTED] __ Save the whales. Collect the whole set.
Re: redirecting large POSTs
On Wed, 4 Oct 2000 [EMAIL PROTECTED] wrote: > I have an authentication scheme which checks every request for a valid > cookie, and if your session has timed out redirects to a login page. After > logging in, the request is resubmitted as a GET. This works great except > when the original post is large--the redirect URL gets way too long (10K > or more). > > I was thinking about saving the posted data to a temporary file and > reading it back in after the login succeeds, but this seems messy and > error-prone. Has anyone else had this problem? Are there any modules > (maybe session mgmt stuff?) that could be easily adapted to handle this? Writing to the FS is IMHO very dangerous when you are under heavy traffic. You end up with lots of file locking issues and such. Here is a very simple solution. Upon authentication store the session and all info in the db. Cook up a unique MD5 on the userID / login time and use that as the primary key. use storable to freeze complex data structure and unthaw them when the session is restored. /* begin psuedo code */ sub new { # duh } sub createSession { create md5 checksum using login time insert into a sessions table } sub restoreSession { get session from post or get select session from db thaw the storable } sub updateSession { duh } sub destroySession { delete session or mark for deletion }
Re: Forking in mod_perl?
> On Wed, Oct 04, 2000 at 02:42:50PM -0700, David E. Wheeler wrote: > > Yeah, I was thinking something along these lines. Don't know if I need > > something as complex as IPC. I was thinking of perhaps a second Apache > > server set up just to handle long-term processing. Then the first server > > could send a request to the second with the commands it needs to execute > > in a header. The second server processes those commands independantly of > > the first server, which then returns data to the browser. > > In a pinch, I'd just use something like a 'queue' directory. In other > words, when your mod_perl code gets some info to process, it writes > this into a file in a certain directory (name it with a timestamp / > cksum to ensure the filename is unique). Every X seconds, have a It might be safer to do this in a db rather than the file system. That way there is less chance for colision and you don't have to worry about the file being half written when the daemon comes along and tries to read the file while mod_perl/apache is trying to write it. Let the DB do the storage side and let the damon do a select to gather the info.
Re: OOP and mod_perl question
> Andreas Grupp wrote: > > > > Hello > > > > I am trying to develop for the first time a perl module. It should work on a > > server with mod_perl. The objects are not using mod_perl ($r) and are just > > solving some of my work in a nicer way. Since I'm new in OOP on perl (I only > > know C++) I would hear from some experts that the following is allowed in Perl > > OO modules and does not conflict with mod_perl. > > > > The question belongs to the constructor. I have $self as a class reference on > > the brandnew object. Now in the rest of my constructor I do some Querys on a > > MySQL database to get information about the authenticated user (.htaccess with > > AuthenDBI). Afterwards I store the user-data retrieved from the database in a > > hash-variable and put a reference to this hash in the $self object in the > > following way: > > > > $self->{'userdata'}->$hashref > > > > Now I can get the different parts of userdata in other instance-methods with > > code like the following ($po is an object of this class): > > > > my $po = new Peseta; > > print "This desk belongs to: " . $po->{'userdata'}->{'ulname'} . ""; > > er ... this may be wrong but ... > > Here you are directly referancing the Objects data structure - which in > OO is a little naughty (you should repsect an Objects privacy, but perl > will not enforce it). > > Hence you would need a method call to return said data, in your Peseta > package put something thus: > > sub get_desk_owner { > > my $self = shift; > my $name = shift; > return $self->{'userdata'}->{$name}; > > } > here something we have been quite successfull using. It allows us to retrieve nested data from all of our object without directly poking insid e the object. Very similar to $r->param(); sub getAttr{ my $self = shift; my $req = shift; # we generally tend to store data in a second level hash $return $self->{'attr'}->{$req} || ''; } for setting instance data ... sub setAttr { my $self = shift; my $i = {@_}; foreach my $key (keys %{$i}){ $self->{'attr'}->{$key} = $i->{$key}; } return; } hope this helps Sean Cook Systems Analyst Edutest.com Phone: 804.673.22531.888.335.8378 email: [EMAIL PROTECTED] __ Save the whales. Collect the whole set.