Talk About Network



Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Perl Cvs P5ee > [svn:p5ee] r106...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 1 Topic 655 of 694
Post > Topic >>

[svn:p5ee] r10611 - p5ee/trunk/App-Context/lib/App/Context/POE

by spadkins@[EMAIL PROTECTED] Jan 18, 2008 at 10:25 AM

Author: spadkins
Date: Fri Jan 18 10:25:04 2008
New Revision: 10611

Modified:
   p5ee/trunk/App-Context/lib/App/Context/POE/ClusterController.pm
   p5ee/trunk/App-Context/lib/App/Context/POE/ClusterNode.pm
   p5ee/trunk/App-Context/lib/App/Context/POE/Server.pm

Log:
a bunch of logging changes and cleanup to make running in production
cleaner

Modified: p5ee/trunk/App-Context/lib/App/Context/POE/ClusterController.pm
==============================================================================
---
p5ee/trunk/App-Context/lib/App/Context/POE/ClusterController.pm	(original)
+++ p5ee/trunk/App-Context/lib/App/Context/POE/ClusterController.pm	Fri
Jan 18 10:25:04 2008
@[EMAIL PROTECTED]
 -1,4 +1,3 @[EMAIL PROTECTED]
 ## $Id: ClusterController.pm 6785 2006-08-11 23:13:19Z spadkins $

#############################################################################
@[EMAIL PROTECTED]
 -12,8 +11,6 @[EMAIL PROTECTED]
 @[EMAIL PROTECTED]
 = ( "App::Context::POE::Server" );
 
 use Date::Format;
-#sub POE::Kernel::TRACE_STATISTICS  () { 1 }
-#sub POE::Kernel::TRACE_PROFILE  () { 1 }
 use POE;
 
 use strict;
@[EMAIL PROTECTED]
 -65,12 +62,12 @[EMAIL PROTECTED]
 
 sub dispatch_events_begin {
     my ($self) = @[EMAIL PROTECTED]
    $self->log({level=>2},"Starting Cluster Controller on
$self->{host}:$self->{port}\n") if $self->{options}{poe_trace};
+    $self->log({level=>3},"Starting Cluster Controller on
$self->{host}:$self->{port}\n") if $self->{options}{poe_trace};
 }
 
 sub dispatch_events_end {
     my ($self) = @[EMAIL PROTECTED]
    $self->log({level=>2},"Stopping Cluster Controller\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"Stopping Cluster Controller\n") if
$self->{options}{poe_trace};
     # nothing special yet
 }
 
@[EMAIL PROTECTED]
 -80,7 +77,7 @[EMAIL PROTECTED]
 
     my $destination = $event->{destination};
     if (! defined $destination) {
-        $self->log("ERROR: send_async_event_now()
$event->{name}.$event->{method} : destination not assigned\n");
+        $self->log({level=>2},"ERROR $event->{name}.$event->{method} :
destination not assigned\n");
     }
     elsif ($event->{destination} eq "in_process") {
         my $event_token = $self->send_async_event_in_process($event,
$callback_event);
@[EMAIL PROTECTED]
 -112,7 +109,7 @[EMAIL PROTECTED]
 sub ikc_register {
     &App::sub_entry if ($App::trace);
     my ($self, $kernel, $session_name) = @[EMAIL PROTECTED]
 KERNEL, ARG1];
-    $self->log({level=>2},"POE: ikc_register ($session_name)\n") if
$self->{options}{poe_ikc_debug};
+    $self->log({level=>3},"ikc_register: ($session_name)\n") if
$self->{options}{poe_ikc_debug};
     if ($session_name =~ /^poe_([^_]+)_(\d+)$/) {
         my $node = "$1:$2";
         $self->set_node_up($node);
@[EMAIL PROTECTED]
 -125,7 +122,7 @[EMAIL PROTECTED]
 sub ikc_unregister {
     &App::sub_entry if ($App::trace);
     my ($self, $kernel, $session_name) = @[EMAIL PROTECTED]
 KERNEL, ARG1];
-    $self->log({level=>2},"POE: ikc_unregister ($session_name)\n") if
$self->{options}{poe_ikc_debug};
+    $self->log({level=>3},"ikc_unregister: ($session_name)\n") if
$self->{options}{poe_ikc_debug};
     if ($session_name =~ /^poe_([^_]+)_(\d+)$/) {
         my $node = "$1:$2";
         $self->set_node_down($node);
@[EMAIL PROTECTED]
 -136,7 +133,7 @[EMAIL PROTECTED]
 sub ikc_shutdown {
     &App::sub_entry if ($App::trace);
     my ($self, $kernel, $arg0, $arg1, $arg2, $arg3) = @[EMAIL PROTECTED]
 KERNEL,
ARG0, ARG1, ARG2, ARG3];
-    $self->log({level=>2},"POE: ikc_shutdown args=($arg0, $arg1, $arg2,
$arg3)\n") if $self->{options}{poe_ikc_debug};
+    $self->log({level=>3},"ikc_shutdown: args=($arg0, $arg1, $arg2,
$arg3)\n") if $self->{options}{poe_ikc_debug};
     &App::sub_exit() if ($App::trace);
     return;
 }
@[EMAIL PROTECTED]
 -164,7 +161,7 @[EMAIL PROTECTED]
                 [ $runtime_event_token ]);
         }
         else {
-            $self->log("ERROR: _abort_running_async_event()
$event->{name}.$event->{method} : unparseable runtime event token
[$runtime_event_token]\n");
+            $self->log({level=>2},"ERROR $event->{name}.$event->{method}
: unparseable runtime event token [$runtime_event_token]\n");
         }
     }
     &App::sub_exit() if ($App::trace);
@[EMAIL PROTECTED]
 -211,23 +208,20 @[EMAIL PROTECTED]
 sub poe_receive_node_status {
     &App::sub_entry if ($App::trace);
     my ($self, $kernel, $args) = @[EMAIL PROTECTED]
 KERNEL, ARG0];
-    $self->log("POE: poe_receive_node_status enter\n") if
$self->{options}{poe_trace};
     my ($node, $sys_info) = @[EMAIL PROTECTED]
 
-    $self->log("POE: poe_receive_node_status ($node) - " .
+    $self->log({level=>3},"poe_receive_node_status ($node) - " .
                "load=$sys_info->{system_load}, " .
                "memfree=$sys_info->{memfree}/$sys_info->{memtotal} " .
                "swapfree=$sys_info->{swapfree}/$sys_info->{swaptotal}\n")
if $self->{options}{poe_trace};
     $self->set_node_up($node, $sys_info);
 
-    $self->log("POE: poe_receive_node_status exit\n") if
$self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
 sub poe_run_event {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap, $event ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL, HEAP, ARG0
];
-    $self->log("POE: poe_run_event enter\n") if
$self->{options}{poe_trace};
 
     my ($event_str);
     my $args = $event->{args} || [];
@[EMAIL PROTECTED]
 -241,7 +235,6 @[EMAIL PROTECTED]
     }
     $self->send_event($event);
 
-    $self->log("POE: poe_run_event exit : event[$event_str]\n") if
$self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
@[EMAIL PROTECTED]
 -365,7 +358,7 @[EMAIL PROTECTED]
             $kernel->post("IKC", "post",
"poe://$remote_server_name/$remote_session_alias/$remote_session_state");
         }
         else {
-            $self->log("ERROR: shutdown_nodes: unparseable node
[$node]\n");
+            $self->log({level=>2},"ERROR unparseable node [$node]\n");
         }
     }
     &App::sub_exit() if ($App::trace);
@[EMAIL PROTECTED]
 -395,11 +388,11 @[EMAIL PROTECTED]
             $cmd = $cmd_fmt;
             $cmd =~ s/{host}/$host/g;
             $cmd =~ s/{port}/$port/g;
-            $self->log("Starting Node [$node]: [$cmd]\n") if
$self->{options}{poe_trace};
+            $self->log({level=>3},"Starting Node [$node]: [$cmd]\n") if
$self->{options}{poe_trace};
             system("$cmd < /dev/null &");
         }
         else {
-            $self->log("ERROR: startup_nodes: unparseable node
[$node]\n");
+            $self->log({level=>2},"ERROR unparseable node [$node]\n");
         }
     }
     &App::sub_exit() if ($App::trace);
@[EMAIL PROTECTED]
 -417,7 +410,7 @[EMAIL PROTECTED]
         close(App::Context::POE::ClusterController::FILE);
     }
     else {
-        $self->log("ERROR: Can't write node file [$node_file]: $!\n");
+        $self->log({level=>2},"ERROR Can't write node file [$node_file]:
$!\n");
     }
     &App::sub_exit() if ($App::trace);
 }
@[EMAIL PROTECTED]
 -439,10 +432,6 @[EMAIL PROTECTED]
         }
         close(App::Context::POE::ClusterController::FILE);
     }
-    else {
-        # This is not really a problem.
-        # $self->log("WARNING: Can't read node file [$node_file]: $!\n");
-    }
     &App::sub_exit() if ($App::trace);
 }
 

Modified: p5ee/trunk/App-Context/lib/App/Context/POE/ClusterNode.pm
==============================================================================
--- p5ee/trunk/App-Context/lib/App/Context/POE/ClusterNode.pm	(original)
+++ p5ee/trunk/App-Context/lib/App/Context/POE/ClusterNode.pm	Fri Jan 18
10:25:04 2008
@[EMAIL PROTECTED]
 -1,4 +1,3 @[EMAIL PROTECTED]
 ## $Id: ClusterNode.pm 3666 2006-03-11 20:34:10Z spadkins $

#############################################################################
@[EMAIL PROTECTED]
 -15,8 +14,6 @[EMAIL PROTECTED]
 
 use Date::Format;
 
-#sub POE::Kernel::TRACE_STATISTICS  () { 1 }
-#sub POE::Kernel::TRACE_PROFILE  () { 1 }
 use POE;
 use POE::Component::IKC::Client;
 use POE::Component::IKC::Responder;
@[EMAIL PROTECTED]
 -72,7 +69,7 @[EMAIL PROTECTED]
         name    => $ikc_name,
         timeout => 60,
     );
-    $self->log({level=>2},"Listening for Inter-Kernel Communications on
$self->{host}:$self->{port}\n") if $self->{options}{poe_ikc_debug};
+    $self->log({level=>3},"Listening for Inter-Kernel Communications on
$self->{host}:$self->{port}\n") if $self->{options}{poe_ikc_debug};
 
     my $session_name = $self->{poe_session_name};
     POE::Component::Server::SimpleHTTP->new(
@[EMAIL PROTECTED]
 -84,7 +81,7 @[EMAIL PROTECTED]
             { 'DIR' => '.*', 'SESSION' => $session_name, 'EVENT' =>
'poe_http_server_state', },
         ],
     );
-    $self->log({level=>2},"Listening for HTTP Requests on
$self->{host}:$self->{options}{http_port}\n") if
$self->{options}{poe_http_debug};
+    $self->log({level=>3},"Listening for HTTP Requests on
$self->{host}:$self->{options}{http_port}\n") if
$self->{options}{poe_http_debug};
 
     &App::sub_exit() if ($App::trace);
 }
@[EMAIL PROTECTED]
 -99,7 +96,6 @[EMAIL PROTECTED]
 sub _start {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL, HEAP ];
-    $self->log({level=>2},"POE: _start\n") if
$self->{options}{poe_trace};
 
     my $name = $self->{poe_session_name};
     $kernel->alias_set($name);
@[EMAIL PROTECTED]
 -133,7 +129,7 @[EMAIL PROTECTED]
 sub ikc_register {
     &App::sub_entry if ($App::trace);
     my ($self, $kernel, $remote_kernel_id, $node) = @[EMAIL PROTECTED]
 KERNEL,
ARG0, ARG3];
-    $self->log({level=>2},"POE: ikc_register ($remote_kernel_id;
node=$node)\n") if $self->{options}{poe_ikc_debug};
+    $self->log({level=>3},"ikc_register: ($remote_kernel_id;
node=$node)\n") if $self->{options}{poe_ikc_debug};
     $self->{controller_up} = 1;
     $self->send_node_status();
     &App::sub_exit() if ($App::trace);
@[EMAIL PROTECTED]
 -143,7 +139,7 @[EMAIL PROTECTED]
 sub ikc_unregister {
     &App::sub_entry if ($App::trace);
     my ($self, $kernel, $remote_kernel_id, $session_name, $node) =
@[EMAIL PROTECTED]
 KERNEL, ARG0, ARG1, ARG3];
-    $self->log({level=>2},"POE: ikc_unregister ($remote_kernel_id;
session_name=$session_name; node=$node)\n") if
$self->{options}{poe_ikc_debug};
+    $self->log({level=>3},"ikc_unregister: ($remote_kernel_id;
session_name=$session_name; node=$node)\n") if
$self->{options}{poe_ikc_debug};
     $self->{controller_up} = 0;
     $kernel->yield("poe_shutdown");
     &App::sub_exit() if ($App::trace);
@[EMAIL PROTECTED]
 -152,7 +148,7 @[EMAIL PROTECTED]
 sub ikc_shutdown {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $session, $heap ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL, SESSION,
HEAP ];
-    $self->log({level=>2},"POE: ikc_shutdown\n") if
$self->{options}{poe_ikc_debug};
+    $self->log({level=>3},"ikc_shutdown\n") if
$self->{options}{poe_ikc_debug};
     &App::sub_exit() if ($App::trace);
     return;
 }
@[EMAIL PROTECTED]
 -160,7 +156,7 @[EMAIL PROTECTED]
 sub dispatch_events_begin {
     &App::sub_entry if ($App::trace);
     my ($self) = @[EMAIL PROTECTED]
    $self->log({level=>2},"Starting Cluster Node on
$self->{host}:$self->{port}\n") if $self->{options}{poe_trace};
+    $self->log({level=>3},"Starting Cluster Node on
$self->{host}:$self->{port}\n") if $self->{options}{poe_trace};
     my $node_heartbeat  = $self->{options}{node_heartbeat} || 60;
     $self->schedule_event(
         method => "send_node_status",
@[EMAIL PROTECTED]
 -179,7 +175,7 @[EMAIL PROTECTED]
 sub dispatch_events_end {
     &App::sub_entry if ($App::trace);
     my ($self) = @[EMAIL PROTECTED]
    $self->log({level=>2},"Stopping Cluster Node\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"Stopping Cluster Node\n") if
$self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
@[EMAIL PROTECTED]
 -249,14 +245,13 @[EMAIL PROTECTED]
 sub poe_cancel_async_event {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap, $arg0 ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL, HEAP, ARG0
];
-    $self->log("POE: poe_cancel_async_event enter\n") if
$self->{options}{poe_trace};
     my ($runtime_event_token) = @[EMAIL PROTECTED]
 
     ### Find if running
     for my $pid (keys %{$self->{running_async_event}}) {
         my $event_token =
$self->{running_async_event}{$pid}[0]{event_token};
         if ($runtime_event_token eq $event_token) {
-            $self->log({level=>2},"CN : poe_cancel_async_event :
running_async_event : found event_token=[$event_token] pid=[$pid]\n");
+            $self->log({level=>3},"CN : poe_cancel_async_event:
running_async_event: found event_token=[$event_token] pid=[$pid]\n");
 
             ### Kill it
             if ($pid =~ /^[0-9]+$/) {
@[EMAIL PROTECTED]
 -278,7 +273,6 @[EMAIL PROTECTED]
         }
     }
 
-    $self->log("POE: poe_cancel_async_event exit :
runtime_event_token[$runtime_event_token]\n") if
$self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 

Modified: p5ee/trunk/App-Context/lib/App/Context/POE/Server.pm
==============================================================================
--- p5ee/trunk/App-Context/lib/App/Context/POE/Server.pm	(original)
+++ p5ee/trunk/App-Context/lib/App/Context/POE/Server.pm	Fri Jan 18
10:25:04 2008
@[EMAIL PROTECTED]
 -26,8 +26,6 @[EMAIL PROTECTED]
 use POE::Component::IKC::Server;
 use HTTP::Status qw/RC_OK/;
 use Socket qw(INADDR_ANY);
-use Data::Dumper;
-$Data::Dumper::Terse = 1;
 
 sub _init {
     &App::sub_entry if ($App::trace);
@[EMAIL PROTECTED]
 -121,7 +119,7 @[EMAIL PROTECTED]
         port => $self->{port},
         name => $self->{poe_kernel_name},
     );
-    $self->log({level=>2},"Listening for Inter-Kernel Communications on
$self->{host}:$self->{port}\n") if $self->{options}{poe_ikc_debug};
+    $self->log({level=>3},"Listening for Inter-Kernel Communications on
$self->{host}:$self->{port}\n") if $self->{options}{poe_ikc_debug};
     POE::Component::IKC::Responder->spawn();
 
     my $session_name = $self->{poe_session_name};
@[EMAIL PROTECTED]
 -134,7 +132,7 @[EMAIL PROTECTED]
             { 'DIR' => '.*', 'SESSION' => $session_name, 'EVENT' =>
'poe_http_server_state', },
         ],
     );
-    $self->log({level=>2},"Listening for HTTP Requests on
$self->{host}:$self->{options}{http_port}\n") if
$self->{options}{poe_http_debug};
+    $self->log({level=>3},"Listening for HTTP Requests on
$self->{host}:$self->{options}{http_port}\n") if
$self->{options}{poe_http_debug};
 
     &App::sub_exit() if ($App::trace);
 }
@[EMAIL PROTECTED]
 -197,7 +195,7 @[EMAIL PROTECTED]
                 $name = $object;
             }
             $service = $self->service($service_type, $name);  #
instantiate it. that's all.
-            $self->log({level=>3},"$service_type $name instantiated
[$service]\n");
+            $self->log({level=>3},"dispatch_events: $service_type $name
instantiated [$service]\n");
             $self->{main_service} = $service if (!$self->{main_service});
         }
     }
@[EMAIL PROTECTED]
 -208,7 +206,7 @[EMAIL PROTECTED]
         $poe_kernel->run();
     };
     if ($@[EMAIL PROTECTED]
) {
-        $self->log($@[EMAIL PROTECTED]
);
+        $self->log({level=>2},$@[EMAIL PROTECTED]
);
     }
 
     $self->dispatch_events_end();
@[EMAIL PROTECTED]
 -220,14 +218,14 @[EMAIL PROTECTED]
     &App::sub_entry if ($App::trace);
     my ($self) = @[EMAIL PROTECTED]
     my $verbose = $self->{verbose};
-    $self->log({level=>2},"Starting Dispatching Events on Server on
$self->{host}:$self->{port}\n");
+    $self->log({level=>3},"Starting Dispatching Events on Server on
$self->{host}:$self->{port}\n");
     &App::sub_exit() if ($App::trace);
 }
 
 sub dispatch_events_end {
     my ($self) = @[EMAIL PROTECTED]
     my $verbose = $self->{verbose};
-    $self->log({level=>2},"Stopping Dispatching Events on Server.\n");
+    $self->log({level=>3},"Stopping Dispatching Events on Server.\n");
 }
 
 sub state {
@[EMAIL PROTECTED]
 -351,20 +349,22 @[EMAIL PROTECTED]
     ### POE state dumping - Currently commented out because it doesn't
gain us much
     ### in the way of visibility, and POE::API::Peek is a CPAN pain
     ### UNCOMMENT THIS IF YOU NEED IT, DEPENDS ON A PAINFUL LIBRARY
-    App->use("POE::API::Peek");
-    my $api = POE::API::Peek->new();
-    my @[EMAIL PROTECTED]
 = $api->event_queue_dump();
-    $state .= "POE event_queue_dump\n";
-    my $first = 1;
-    my $poe_stuff = [qw(ID index priority event type source
destination)];
-    for my $item (@[EMAIL PROTECTED]
) {
-        if ($first) {
-            $state .= sprintf("%7s %6s %20s %30s %15s %30s %30s\n",
@[EMAIL PROTECTED]
);
-            $first = 0;
+    if ($self->{options}{poe_trace}) {
+        App->use("POE::API::Peek");
+        my $api = POE::API::Peek->new();
+        my @[EMAIL PROTECTED]
 = $api->event_queue_dump();
+        $state .= "POE event_queue_dump\n";
+        my $first = 1;
+        my $poe_stuff = [qw(ID index priority event type source
destination)];
+        for my $item (@[EMAIL PROTECTED]
) {
+            if ($first) {
+                $state .= sprintf("%7s %6s %20s %30s %15s %30s %30s\n",
@[EMAIL PROTECTED]
);
+                $first = 0;
+            }
+            $state .= sprintf("%7d %6d %20f %30s %15s %30s %30s\n",
@[EMAIL PROTECTED]
);
         }
-        $state .= sprintf("%7d %6d %20f %30s %15s %30s %30s\n",
@[EMAIL PROTECTED]
);
+        $state .= "\n";
     }
-    $state .= "\n";
 
     return $state;
 }
@[EMAIL PROTECTED]
 -445,9 +445,7 @[EMAIL PROTECTED]
     &App::sub_entry if ($App::trace);
     my ($self, $max_events) = @[EMAIL PROTECTED]
     my $t0 = [gettimeofday];
-    #$self->log({level=>2},"S: dispatch_pending_async_events : poe_state
: \n" . $self->_state_poe() . "\n");
-    $self->log({level=>2},"S: dispatch_pending_async_events : enter :
max_events=[$max_events]\n") if $self->{options}{poe_trace};
-    #$self->log({level=>2},"S: dispatch_pending_async_events :
pending_async_events : " . Dumper($self->{pending_async_events}) . "\n")
if $self->{options}{poe_trace};
+    $self->log({level=>3},"dispatch_pending_async_events enter:
max_events=[$max_events]\n") if $self->{options}{poe_trace};
 
     $max_events ||= 9999;
     my $pending_async_events = $self->{pending_async_events};
@[EMAIL PROTECTED]
 -484,7 +482,7 @[EMAIL PROTECTED]
         }
     }
 
-    $self->log({level=>2},"S: dispatch_pending_async_events : exiting :
events_occurred=[$events_occurred] time=[" . sprintf("%.4f",
tv_interval($t0, [gettimeofday])) . "]\n") if $self->{options}{poe_trace};
+    $self->log({level=>3},"dispatch_pending_async_events exit:
events_occurred=[$events_occurred] time=[" . sprintf("%.4f",
tv_interval($t0, [gettimeofday])) . "]\n") if $self->{options}{poe_trace};
     &App::sub_exit($events_occurred) if ($App::trace);
     return($events_occurred);
 }
@[EMAIL PROTECTED]
 -505,8 +503,7 @[EMAIL PROTECTED]
 sub send_async_event_now {
     &App::sub_entry if ($App::trace);
     my ($self, $event, $callback_event) = @[EMAIL PROTECTED]
    $self->log({level=>2}, "Server: send_async_event_now()
$event->{name}.$event->{method} : $event->{destination}\n");
+    $self->log({level=>3}, "send_async_event_now enter:
$event->{name}.$event->{method} : $event->{destination}\n");
 
     if ($event->{destination} eq "in_process") {
         my $event_token = $self->send_async_event_in_process($event,
$callback_event);
@[EMAIL PROTECTED]
 -541,6 +538,7 @[EMAIL PROTECTED]
         my $runtime_event_token = $pid;
         $self->{running_async_event}{$runtime_event_token} = [ $event,
$callback_event ];
     }
+    $self->log({level=>3}, "send_async_event_now exit\n");
     &App::sub_exit() if ($App::trace);
 }
 =head2 wait_for_event()
@[EMAIL PROTECTED]
 -577,9 +575,9 @[EMAIL PROTECTED]
     else {  # the new child process has no sub-processes
         $self->{num_procs} = 0;
         $self->{proc} = {};
-        $SIG{INT}  = sub { $self->log({level=>2},"Caught Signal: @[EMAIL PROTECTED]
(quitting)\n"); $self->exit(102); };   # SIG  2
-        $SIG{QUIT} = sub { $self->log({level=>2},"Caught Signal: @[EMAIL PROTECTED]
(quitting)\n"); $self->exit(103); };   # SIG  3
-        $SIG{TERM} = sub { $self->log({level=>2},"Caught Signal: @[EMAIL PROTECTED]
(quitting)\n"); $self->shutdown(); $self->exit(115); };   # SIG 15
+        $SIG{INT}  = sub { $self->log({level=>3},"fork: Caught Signal: @[EMAIL PROTECTED]
(quitting)\n"); $self->exit(102); };   # SIG  2
+        $SIG{QUIT} = sub { $self->log({level=>3},"fork: Caught Signal: @[EMAIL PROTECTED]
(quitting)\n"); $self->exit(103); };   # SIG  3
+        $SIG{TERM} = sub { $self->log({level=>3},"fork: Caught Signal: @[EMAIL PROTECTED]
(quitting)\n"); $self->shutdown(); $self->exit(115); };   # SIG 15
     }
     &App::sub_exit($pid) if ($App::trace);
     return($pid);
@[EMAIL PROTECTED]
 -729,7 +727,7 @[EMAIL PROTECTED]
         kill(15, $runtime_event_token);
     }
     else {
-        $self->log("Unable to abort running async event
[$runtime_event_token]\n");
+        $self->log({level=>3},"Unable to abort running async event
[$runtime_event_token]\n");
     }
     &App::sub_exit() if ($App::trace);
 }
@[EMAIL PROTECTED]
 -773,14 +771,13 @[EMAIL PROTECTED]
     my (@[EMAIL PROTECTED]
);
     @[EMAIL PROTECTED]
 = @[EMAIL PROTECTED]
 if (ref($args) eq "ARRAY");
     @[EMAIL PROTECTED]
 = ($args) if (!ref($args));
-    $self->log({level=>2},"POE: _default - WARNING: Entered an unhandled
state ($state) with args (@[EMAIL PROTECTED]
)\n") if $self->{options}{poe_trace};
+    $self->log({level=>3},"POE: _default: Entered an unhandled state
($state) with args (@[EMAIL PROTECTED]
)\n") if $self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
 sub _start {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL, HEAP ];
-    $self->log("POE: _start enter\n") if $self->{options}{poe_trace};
 
     my $name = $self->{poe_session_name};
     $kernel->alias_set($name);
@[EMAIL PROTECTED]
 -804,23 +801,20 @[EMAIL PROTECTED]
     $kernel->delay_set("poe_event_loop_extension", 5) if
(!$self->{disable_event_loop_extensions});
     $kernel->delay_set("poe_alarm", 5);
 
-    $self->log("POE: _start exit\n") if $self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
 sub _stop {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap, $state, $args ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL,
HEAP, ARG0, ARG1 ];
-    $self->log("POE: _stop enter\n") if $self->{options}{poe_trace};
     #sleep(1);  # take a second to let child processes to die (perhaps
not necessary, perhaps necessary when using POE::Wheel::Run)
-    $self->log("POE: _stop exit\n") if $self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
 sub ikc_register {
     &App::sub_entry if ($App::trace);
     my ($self, $kernel, $session_name) = @[EMAIL PROTECTED]
 KERNEL, ARG1];
-    $self->log("POE: ikc_register ($session_name)\n") if
$self->{options}{poe_ikc_debug};
+    $self->log({level=>3},"ikc_register: ($session_name)\n") if
$self->{options}{poe_ikc_debug};
     my ($retval);
     &App::sub_exit($retval) if ($App::trace);
     return($retval);
@[EMAIL PROTECTED]
 -829,14 +823,14 @[EMAIL PROTECTED]
 sub ikc_unregister {
     &App::sub_entry if ($App::trace);
     my ($self, $kernel, $session_name) = @[EMAIL PROTECTED]
 KERNEL, ARG1];
-    $self->log("POE: ikc_unregister ($session_name)\n") if
$self->{options}{poe_ikc_debug};
+    $self->log({level=>3},"ikc_unregister: ($session_name)\n") if
$self->{options}{poe_ikc_debug};
     &App::sub_exit() if ($App::trace);
 }
 
 sub ikc_shutdown {
     &App::sub_entry if ($App::trace);
     my ($self, $kernel, $arg0, $arg1, $arg2, $arg3) = @[EMAIL PROTECTED]
 KERNEL,
ARG0, ARG1, ARG2, ARG3];
-    $self->log("POE: ikc_shutdown args=($arg0, $arg1, $arg2, $arg3)\n")
if $self->{options}{poe_ikc_debug};
+    $self->log({level=>3},"ikc_shutdown: args=($arg0, $arg1, $arg2,
$arg3)\n") if $self->{options}{poe_ikc_debug};
     &App::sub_exit() if ($App::trace);
     return;
 }
@[EMAIL PROTECTED]
 -844,7 +838,6 @[EMAIL PROTECTED]
 sub poe_yield {
     &App::sub_entry if ($App::trace);
     my ($self, $kernel, $state, $max_count) = @[EMAIL PROTECTED]
    $self->log("POE: poe_yield enter\n") if $self->{options}{poe_trace};
 
     my $count = $self->{poe_count}{$state} || 0;
     $max_count ||= 1;
@[EMAIL PROTECTED]
 -854,7 +847,6 @[EMAIL PROTECTED]
         $kernel->yield($state);
     }
 
-    $self->log("POE: poe_yield exit : state[$state] poe_count[" .
$self->{poe_count}{$state} . "]\n") if $self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
     return;
 }
@[EMAIL PROTECTED]
 -862,7 +854,6 @[EMAIL PROTECTED]
 sub poe_yield_acknowledged {
     &App::sub_entry if ($App::trace);
     my ($self, $state) = @[EMAIL PROTECTED]
    $self->log("POE: poe_yield_acknowledged enter\n") if
$self->{options}{poe_trace};
 
     if ($self->{poe_count}{$state}) {
         $self->{poe_count}{$state}--;
@[EMAIL PROTECTED]
 -871,7 +862,6 @[EMAIL PROTECTED]
         $self->{poe_count}{$state} = 0;
     }
 
-    $self->log("POE: poe_yield_acknowledged exit : state[$state]
poe_count[" . $self->{poe_count}{$state} . "]\n") if
$self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
     return;
 }
@[EMAIL PROTECTED]
 -879,7 +869,6 @[EMAIL PROTECTED]
 sub poe_sigterm {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap, $signame ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL, HEAP,
ARG0 ];
-    $self->log("POE: poe_sigterm enter\n") if
$self->{options}{poe_trace};
 
     # How do I shut down the POE kernel now and exit?
     # I think I need to shut down the last session and the kernel will
exit.
@[EMAIL PROTECTED]
 -889,38 +878,32 @[EMAIL PROTECTED]
     #$kernel->yield("poe_shutdown");
     # However the signals which bring me here seem to do the shutdown for
me, so it's unnecessary
 
-    $self->log("POE: poe_sigterm exit : signal[$signame]\n") if
$self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
 sub poe_sigignore {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap, $signame ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL, HEAP,
ARG0 ];
-    $self->log("POE: poe_sigignore enter\n") if
$self->{options}{poe_trace};
 
-    $self->log("POE: poe_sigignore exit : signal[$signame]\n") if
$self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
 sub poe_sigchld {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap, $pid, $status ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL,
HEAP, ARG1, ARG2 ];
-    $self->log("POE: poe_sigchld enter\n") if
$self->{options}{poe_trace};
 
     my $exitval = $status >> 8;
     my $sig     = $status & 255;
     $self->finish_pid($pid, $exitval, $sig);
 
-    $self->log("POE: poe_sigchld exit : child[$pid] exitval[$exitval]
sig[$sig]\n") if $self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
 sub poe_alarm {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL, HEAP ];
-    $self->log("POE: poe_alarm enter\n") if $self->{options}{poe_trace};
+    $self->log({level=>3},"poe_alarm enter\n") if
$self->{options}{poe_trace};
 
-    #$self->log({level=>2},"S: poe_alarm : poe_state : \n" .
$self->_state_poe() . "\n");
     my $main_service = $self->{main_service};
     
     ### This is mostly for the node, which needs this to spawn queued
execute subrequest events
@[EMAIL PROTECTED]
 -948,13 +931,15 @[EMAIL PROTECTED]
 
     ### call some POE profile dump functions, only happens when ENV
variables
     ### POE_TRACE_PROFILE=1 POE_TRACE_STATISTICS=1
-    my %data = $kernel->stat_getdata();
-    for my $key (sort keys %data) {
-        $self->log("POE: poe_alarm : poe_statistics [" . sprintf("%20s :
%s", $key, $data{$key}) . "]\n");
+    if ($self->{options}{poe_trace}) {
+        my %data = $kernel->stat_getdata();
+        for my $key (sort keys %data) {
+            $self->log({level=>3},"poe_alarm: poe_statistics [" .
sprintf("%20s : %s", $key, $data{$key}) . "]\n");
+        }
+        $kernel->stat_show_profile();
     }
-    $kernel->stat_show_profile();
 
-    $self->log("POE: poe_alarm exit : events_occurred[$events_occurred]
sec_until_next_event[$sec_until_next_event]\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"poe_alarm exit:
events_occurred[$events_occurred]
sec_until_next_event[$sec_until_next_event]\n") if
$self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
@[EMAIL PROTECTED]
 -962,14 +947,13 @[EMAIL PROTECTED]
 sub poe_shutdown {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $session, $heap ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL, SESSION,
HEAP ];
-    $self->log("POE: poe_shutdown enter\n") if
$self->{options}{poe_trace};
 
     ### Abort all running async events
     for my $event_token (keys %{$self->{running_async_event}}) {
         ### We can't use the normal abort_async_event
         ### because POE and IKC are shutting down shortly
         $self->_abort_running_async_event($event_token);
-        $self->log({level=>2},"POE: poe_shutdown : abort running events :
event_token=[$event_token]\n") if $self->{options}{poe_trace};
+        $self->log({level=>3},"poe_shutdown: abort running events :
event_token=[$event_token]\n") if $self->{options}{poe_trace};
     }
 
     ### Clear your alias
@[EMAIL PROTECTED]
 -987,7 +971,6 @[EMAIL PROTECTED]
     ### Shut down POE IKC
     $kernel->post('IKC', 'shutdown');
 
-    $self->log("POE: poe_shutdown exit\n") if
$self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
     return;
 }
@[EMAIL PROTECTED]
 -995,21 +978,20 @[EMAIL PROTECTED]
 sub poe_dispatch_pending_async_events {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap, $arg ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL, HEAP, ARG0
];
-    $self->log("POE: poe_dispatch_pending_async_events enter\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_dispatch_pending_async_events
enter\n") if $self->{options}{poe_trace};
 
     $self->poe_yield_acknowledged("poe_dispatch_pending_async_events");
     my $events_occurred = $self->dispatch_pending_async_events();
 
-    $self->log("POE: poe_dispatch_pending_async_events exit :
events_occurred[$events_occurred]\n") if $self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_dispatch_pending_async_events exit:
events_occurred[$events_occurred]\n") if $self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
 sub poe_event_loop_extension {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL, HEAP ];
-    $self->log("POE: poe_event_loop_extension enter\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_event_loop_extension enter\n") if
$self->{options}{poe_trace};
 
-    $self->log({level=>2},"POE: poe_event_loop_extension\n") if
$self->{options}{poe_trace};
     $self->poe_yield_acknowledged("poe_event_loop_extension");
     my $event_loop_extensions = $self->{event_loop_extensions};
     my $async_events_added = 0;
@[EMAIL PROTECTED]
 -1028,7 +1010,7 @[EMAIL PROTECTED]
         $self->poe_yield($kernel, "poe_event_loop_extension");
     }
 
-    $self->log("POE: poe_event_loop_extension exit :
event_loop_extensions[" . @[EMAIL PROTECTED]
 . "]
async_events_added[$async_events_added]\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_event_loop_extension exit:
event_loop_extensions[" . @[EMAIL PROTECTED]
 . "]
async_events_added[$async_events_added]\n") if
$self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
@[EMAIL PROTECTED]
 -1044,7 +1026,7 @[EMAIL PROTECTED]
 sub poe_run_event {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap, $event ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL, HEAP, ARG0
];
-    $self->log("POE: poe_run_event enter\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_run_event enter\n") if
$self->{options}{poe_trace};
 
     my ($event_str);
     my $args = $event->{args} || [];
@[EMAIL PROTECTED]
 -1058,7 +1040,7 @[EMAIL PROTECTED]
     }
     $self->send_event($event);
 
-    $self->log("POE: poe_run_event exit : event[$event_str]\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_run_event exit: event[$event_str]\n")
if $self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
@[EMAIL PROTECTED]
 -1066,13 +1048,13 @[EMAIL PROTECTED]
 sub poe_enqueue_async_event {
     &App::sub_entry if ($App::trace);
     my ($self, $kernel, $args) = @[EMAIL PROTECTED]
 KERNEL, ARG0];
-    $self->log("POE: poe_enqueue_async_event enter\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_enqueue_async_event enter\n") if
$self->{options}{poe_trace};
     my ($sender, $event, $callback_event) = @[EMAIL PROTECTED]
 
     my $runtime_event_token = $self->send_async_event($event, { method =>
"async_event_finished", args => [ $sender, $event, $callback_event ], });
     $event->{event_token} = $runtime_event_token;
 
-    $self->log("POE: poe_enqueue_async_event exit :
event[$event->{name}.$event->{method} token=$event->{event_token}]
runtime_event_token[$runtime_event_token]\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_enqueue_async_event exit:
event[$event->{name}.$event->{method} token=$event->{event_token}]
runtime_event_token[$runtime_event_token]\n") if
$self->{options}{poe_trace};
     &App::sub_exit([$runtime_event_token, [$event, $callback_event]]) if
($App::trace);
     return([$runtime_event_token, [$event, $callback_event]]);
 }
@[EMAIL PROTECTED]
 -1081,12 +1063,12 @[EMAIL PROTECTED]
 sub poe_enqueue_async_event_finished {
     &App::sub_entry if ($App::trace);
     my ($self, $kernel, $return_values) = @[EMAIL PROTECTED]
 KERNEL, ARG0];
-    $self->log("POE: poe_enqueue_async_event_finished enter\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_enqueue_async_event_finished
enter\n") if $self->{options}{poe_trace};
 
     my ($runtime_event_token, $async_event) = @[EMAIL PROTECTED]
     $self->{running_async_event}{$runtime_event_token} = $async_event;
 
-    $self->log("POE: poe_enqueue_async_event_finished exit :
event[$async_event->[0]{name}.$async_event->[0]{method} =>
$runtime_event_token]\n") if $self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_enqueue_async_event_finished exit:
event[$async_event->[0]{name}.$async_event->[0]{method} =>
$runtime_event_token]\n") if $self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
@[EMAIL PROTECTED]
 -1112,16 +1094,24 @[EMAIL PROTECTED]
 sub poe_remote_async_event_finished {
     &App::sub_entry if ($App::trace);
     my ($self, $kernel, $args) = @[EMAIL PROTECTED]
 KERNEL, ARG0];
-    $self->log("POE: poe_remote_async_event_finished enter\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_remote_async_event_finished enter\n")
if $self->{options}{poe_trace};
     my ($runtime_event_token, $callback_args) = @[EMAIL PROTECTED]
 
     my $async_event = $self->{running_async_event}{$runtime_event_token};
     if ($async_event) {
         my ($event, $callback_event) = @[EMAIL PROTECTED]
        $self->log({level=>2},"POE: poe_remote_async_event_finished :
($event->{name}.$event->{method} => $runtime_event_token)\n") if
$self->{options}{poe_trace};
+        $self->log({level=>3},"POE: poe_remote_async_event_finished :
($event->{name}.$event->{method} => $runtime_event_token)\n") if
$self->{options}{poe_trace};
         delete $self->{running_async_event}{$runtime_event_token};
 
         my $destination = $event->{destination} || "local";
+        ### Decrease the node's load value a fraction of its last system
load
+        my $system_load = $self->{node}{$destination}{system_load};
+        my $number_node_events =
$self->{node}{$destination}{num_async_events};
+        if ($number_node_events > 0) {
+            my $load_decrease_amount = $system_load /
$number_node_events;
+            $self->{node}{$destination}{load} -= $load_decrease_amount;
+        }
+        ### Keep track of our event counts
         $self->{num_async_events}--;
         $self->{node}{$destination}{num_async_events}--;
 
@[EMAIL PROTECTED]
 -1130,22 +1120,22 @[EMAIL PROTECTED]
             $self->send_event($callback_event);
         }
         else {
-            $self->log({level=>2},"Server: WARNING :
poe_remote_async_event_finished called without callback_event :
runtime_event_token[$runtime_event_token]\n");
+            $self->log({level=>3},"Server: WARNING :
poe_remote_async_event_finished called without callback_event :
runtime_event_token[$runtime_event_token]\n");
         }
     }
 
-    $self->log("POE: poe_remote_async_event_finished exit\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_remote_async_event_finished exit\n")
if $self->{options}{poe_trace};
     &App::sub_exit() if ($App::trace);
 }
 
 sub poe_server_state {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap ) = @[EMAIL PROTECTED]
 OBJECT, KERNEL, HEAP ];
-    $self->log("POE: poe_server_state enter\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_server_state enter\n") if
$self->{options}{poe_trace};
 
     my $server_state = $self->state();
 
-    $self->log("POE: poe_server_state exit\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_server_state exit\n") if
$self->{options}{poe_trace};
     &App::sub_exit($server_state) if ($App::trace);
     return $server_state;
 }
@[EMAIL PROTECTED]
 -1153,7 +1143,7 @[EMAIL PROTECTED]
 sub poe_http_server_state {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap, $request, $response ) = @[EMAIL PROTECTED]
 OBJECT,
KERNEL, HEAP, ARG0, ARG1 ];
-    $self->log("POE: poe_http_server_state enter\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_http_server_state enter\n") if
$self->{options}{poe_trace};
 
     my $server_state = $kernel->call( $self->{poe_session_name},
'poe_server_state' );
     ### Build the response.
@[EMAIL PROTECTED]
 -1163,7 +1153,7 @[EMAIL PROTECTED]
     ### Signal that the request was handled okay.
     $kernel->post( $self->{poe_kernel_http_name}, 'DONE', $response );
 
-    $self->log("POE: poe_http_server_state exit\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_http_server_state exit\n") if
$self->{options}{poe_trace};
     &App::sub_exit(RC_OK) if ($App::trace);
     return RC_OK;
 }
@[EMAIL PROTECTED]
 -1171,7 +1161,7 @[EMAIL PROTECTED]
 sub poe_http_test_run {
     &App::sub_entry if ($App::trace);
     my ( $self, $kernel, $heap, $request, $response ) = @[EMAIL PROTECTED]
 OBJECT,
KERNEL, HEAP, ARG0, ARG1 ];
-    $self->log("POE: poe_http_test_run enter\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_http_test_run enter\n") if
$self->{options}{poe_trace};
 
     my $event = {
         service_type => "SessionObject",
@[EMAIL PROTECTED]
 -1189,7 +1179,7 @[EMAIL PROTECTED]
     # Signal that the request was handled okay.
     $kernel->post( $self->{poe_kernel_http_name}, 'DONE', $response );
 
-    $self->log("POE: poe_http_test_run exit\n") if
$self->{options}{poe_trace};
+    $self->log({level=>3},"POE: poe_http_test_run exit\n") if
$self->{options}{poe_trace};
     &App::sub_exit(RC_OK) if ($App::trace);
     return RC_OK;
 }




 1 Posts in Topic:
[svn:p5ee] r10611 - p5ee/trunk/App-Context/lib/App/Context/POE
spadkins@[EMAIL PROTECTED  2008-01-18 10:25:04 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Wed May 14 14:58:17 CDT 2008.