Changeset 14930 for misc/runpugs
- Timestamp:
- 12/20/06 16:57:09 (2 years ago)
- Location:
- misc/runpugs
- Files:
-
- 2 added
- 6 modified
-
data/runpugs_async3.html (added)
-
htdocs/runpugs/index.html (modified) (1 diff)
-
lib/Web/Terminal/Server.pm (modified) (8 diffs)
-
lib/Web/Terminal/Server3.pm (modified) (8 diffs)
-
lib/Web/Terminal/Settings.pm (modified) (2 diffs)
-
lib/startup.pl (modified) (1 diff)
-
perl/runpugs.pl (modified) (1 diff)
-
perl/runpugs3.pl (added)
Legend:
- Unmodified
- Added
- Removed
-
misc/runpugs/htdocs/runpugs/index.html
r14885 r14930 7 7 <body> 8 8 9 <iframe src="/perl/runpugs .pl" id="scratch" name="scratch"9 <iframe src="/perl/runpugs3.pl" id="scratch" name="scratch" 10 10 style="visibility:hidden" width="700px" height="1px" onLoad="getreply()"></iframe> 11 11 <div id="mainwindow"> -
misc/runpugs/lib/Web/Terminal/Server.pm
r14885 r14930 31 31 32 32 our %terminals=(); 33 our % sessions_per_ip=();33 our %nsessions_per_ip=(); 34 34 35 35 my $v=1-$Web::Terminal::Settings::daemon; … … 50 50 if ($terminals{$id}->{pid}) { 51 51 $terminals{$id}->{called}=time; 52 #if swap to other app 52 #if swap to other app #PRE: This will result in a new create() 53 53 if ($app != $terminals{$id}->{'app'}) { 54 54 &killterm($id); … … 60 60 my $error= $term->{'error'}; 61 61 if ($error==1) { # Failed to create a new terminal 62 $ sessions_per_ip{$ip}--;62 $nsessions_per_ip{$ip}--; 63 63 &killterm($id); 64 64 } … … 73 73 if ( $cmd eq $Web::Terminal::Settings::quit_command ) { 74 74 &killterm($id); 75 $ sessions_per_ip{$ip}--;75 $nsessions_per_ip{$ip}--; 76 76 return $lines; 77 77 } elsif ($terminals{$id}->{error}==1) { 78 78 &killterm($id); 79 $ sessions_per_ip{$ip}--;79 $nsessions_per_ip{$ip}--; 80 80 } 81 81 return $lines; … … 84 84 } 85 85 } else { 86 if ($ sessions_per_ip{$ip}>$Web::Terminal::Settings::nsessions_ip) {86 if ($nsessions_per_ip{$ip}>$Web::Terminal::Settings::nsessions_ip) { 87 87 print LOG2 "MAX nsessions for $ip reached\n"; 88 88 print "MAX nsessions for $ip reached\n" if $v; … … 90 90 } else { 91 91 print "New $id\n" if $v; 92 $ sessions_per_ip{$ip}++;92 $nsessions_per_ip{$ip}++; 93 93 print "$app $ia $id $cmd\n" if $v; 94 94 $terminals{$id} = new … … 101 101 if ($error==1 or $ia==0) { # Failed to create a new terminal 102 102 print " Failed to create a new terminal: <$output> err:$error ia:$ia\n" if $v; 103 $ sessions_per_ip{$ip}--;103 $nsessions_per_ip{$ip}--; 104 104 &killterm($id); 105 105 } … … 215 215 my $pid= $terminals{$id}->{pid}; 216 216 my $ip=$terminals{$id}->{ip}; 217 $ sessions_per_ip{$ip}--;217 $nsessions_per_ip{$ip}--; 218 218 # if ($pid) { 219 219 # kill 9,$pid; -
misc/runpugs/lib/Web/Terminal/Server3.pm
r14891 r14930 33 33 our %terminals = (); 34 34 our %nsessions_per_ip = (); 35 our $session_counter = 0;36 our%sessions = (); # holds the session objects37 our@sessions_stack = 1 .. $Web::Terminal::Settings::nsessions;38 our@sessions_stack_app = ();35 #our $session_counter = 0; 36 my %sessions = (); # holds the session objects 37 my @sessions_stack = 1 .. $Web::Terminal::Settings::nsessions; 38 my @sessions_stack_app = (); 39 39 my $v = 1 - $Web::Terminal::Settings::daemon; 40 40 … … 67 67 #select LOG2; $|=1; # to switch of buffering 68 68 print "Parent: preload sessions ...\n " if $v; 69 print @sessions_stack . join(','), "\n"; 70 for my $i ( 1 .. $Web::Terminal::Settings::npreloaded_sessions ) { 71 for my $app ( 0 .. @Web::Terminal::Settings::commands - 1 ) { 72 $app == 0 && next; 69 # print join(',',@sessions_stack), "\n" if $v; 70 for my $app ( 0 .. @Web::Terminal::Settings::commands - 1 ) { 71 for my $i ( 1 .. 72 $Web::Terminal::Settings::npreloaded_sessions[$app] ) { 73 # $sessions_stack_app[$app]=[]; 74 # $app == 0 && next; 73 75 my $ret = &create_session($app); 74 print "OK? $ret\n"; 76 print "OK? if $v; 77 $ret:",scalar(@{$sessions_stack_app[$app]}),';',$app,"\n"; 75 78 } 76 79 } … … 84 87 while ( getppid() > 10 ) { # a bit ad-hoc. 85 88 sleep $Web::Terminal::Settings::check_interval; 86 print "Child: ", getppid(), "\n" if $v;89 # print "Child: ", getppid(), "\n" if $v; 87 90 kill 'USR1', getppid(); 88 91 } 92 die "No restarting, test phase\n"; 89 93 print "Restarting server\n" if $v; 90 94 chdir $Web::Terminal::Settings::cgi_path; … … 233 237 &disconnect_from_session($id); 234 238 $nsessions_per_ip{$ip}--; 235 $lines = $Web::Terminal::Settings::quit_message ;239 $lines = $Web::Terminal::Settings::quit_message."\n"; 236 240 } elsif ( $term->{error} == 1 ) { 237 241 &kill_term($id) … … 258 262 $nsessions_per_ip{$ip}++; 259 263 print "$app $ia $id $cmd\n" if $v; 260 264 if (($app!=0) && ($app!=1)) {$app=1}; 261 265 # then we should check if there is a free session for this $app 262 266 if ( @{ $sessions_stack_app[$app] } ) { … … 265 269 my $term = $sessions{$counter}; 266 270 # Every time a free session is taken, create a new session 271 # if the number of free sessions is low 272 if ( @{ $sessions_stack_app[$app] }<2) { 267 273 # we use a SIGUSR2 to the child for this 268 274 kill 'USR2', $pid or die $!; 269 275 print "Initiated create_session() call, now returning\n" if $v; 276 } 270 277 return $term->{output}; 271 278 } else { # if not, create one 272 279 my $counter = &create_session($app); 273 280 if ( $counter != -1 ) { 281 print "Created a new session $counter and connected to $id\n" if $v; 274 282 my $counter = &connect_to_session( $app, $id, $ip ); 275 283 my $term = $sessions{$counter}; … … 300 308 return $session_counter; 301 309 } else { 302 $session_counter--;310 push @sessions_stack, $session_counter; 303 311 return -1; 304 312 } … … 356 364 357 365 sub init_create { 366 sleep 3; 358 367 print "Initiating a create_session() call...\n" if $v; 359 368 use Web::Terminal::Dispatcher3; -
misc/runpugs/lib/Web/Terminal/Settings.pm
r14891 r14930 55 55 our @commands=( 56 56 '/usr/bin/nice /home/andara/pugs-rel/pugs -I/home/andara/pugs-rel/blib6/lib', 57 '/usr/bin/ pugs' #/usr/bin/nice57 '/usr/bin/nice /usr/bin/pugs' 58 58 ); 59 59 #Dev … … 82 82 our $nsessions=50; 83 83 our $nsessions_ip=10; 84 our $npreloaded_sessions=3;84 our @npreloaded_sessions=(2,5); 85 85 86 86 our $timeout_idle=600; # was 600 -
misc/runpugs/lib/startup.pl
r14885 r14930 13 13 14 14 use Web::Terminal::Settings ( ); 15 use Web::Terminal::Dispatcher ( ); 15 #use Web::Terminal::Dispatcher ( ); 16 use Web::Terminal::Dispatcher3 ( ); 16 17 #use Web::Terminal::Msg ( ); 17 18 #use YAML::Syck ( ); -
misc/runpugs/perl/runpugs.pl
r14885 r14930 140 140 my $npromptw=HTML::Entities::encode_entities($nprompt); 141 141 # my $replyw="$preply$prompt$prevcmd\n$reply"; 142 # if($reply=~/$Web::Terminal::Dispatcher::quit_message/) { 143 # $nprompt=''; 144 # } 142 145 my $replyw="$preply\n$reply"; 143 146 if($clear==1) {
