[Jifty-commit] jifty-plugin-monitoring branch, master, updated. 27ae7b58bde3b35b5da32d071cae3da2aca185be

Jifty commits jifty-commit at lists.jifty.org
Wed May 5 18:31:32 EDT 2010


The branch, master has been updated
       via  27ae7b58bde3b35b5da32d071cae3da2aca185be (commit)
      from  88d2a038ea49353ca78e38b546db06fda167a654 (commit)

Summary of changes:
 lib/Jifty/Plugin/Monitoring.pm              |    8 +++++---
 lib/Jifty/Plugin/Monitoring/Command/Cron.pm |    5 +++--
 2 files changed, 8 insertions(+), 5 deletions(-)

- Log -----------------------------------------------------------------
commit 27ae7b58bde3b35b5da32d071cae3da2aca185be
Author: Alex Vandiver <alexmv at bestpractical.com>
Date:   Wed May 5 18:31:47 2010 -0400

    If a set of monitor names is supplied on the command-line, only run those

diff --git a/lib/Jifty/Plugin/Monitoring.pm b/lib/Jifty/Plugin/Monitoring.pm
index bcb64f8..aebb050 100644
--- a/lib/Jifty/Plugin/Monitoring.pm
+++ b/lib/Jifty/Plugin/Monitoring.pm
@@ -290,20 +290,22 @@ monitor is running.  Use this method to determine when "now" is.
 
 =cut
 
-=head2 run_monitors
+=head2 run_monitors [NAME, [NAME, ...]]
 
-For each monitor that we know of, checks to see if it is due to be
-run, and runs it if it is.
+For each monitor that we know of (or the set of monitors given),
+checks to see if it is due to be run, and runs it if it is.
 
 =cut
 
 sub run_monitors {
     my $self = shift;
+    my %only = map {+($_ => 1)} @_;
     return unless $self->lock;
     my $now = Jifty::DateTime->now->truncate( to => "minute" );
     $now->set_time_zone("UTC");
     $self->now($now);
     for my $name (keys %{$self->monitors}) {
+        next if keys %only and not $only{$name};
         my $last = $self->last_run($name);
         my %monitor = %{$self->monitors->{$name}};
         my $next = $last->last_run->add( $monitor{unit}."s" => $monitor{count} );
diff --git a/lib/Jifty/Plugin/Monitoring/Command/Cron.pm b/lib/Jifty/Plugin/Monitoring/Command/Cron.pm
index 399351a..ada84e2 100644
--- a/lib/Jifty/Plugin/Monitoring/Command/Cron.pm
+++ b/lib/Jifty/Plugin/Monitoring/Command/Cron.pm
@@ -31,7 +31,8 @@ Takes no options.
 =head2 run
 
 Examines the application, looking for an instance of the monitoring
-plugin, and runs it.
+plugin, and runs it.  If a list of monitors is given to the command,
+it will only run those monitors.
 
 =cut
 
@@ -41,7 +42,7 @@ sub run {
 
     my ($monitor) = Jifty->find_plugin('Jifty::Plugin::Monitoring');
     die "Monitoring is not enabled for @{[Jifty->app_class]}\n" unless $monitor;
-    $monitor->run_monitors;
+    $monitor->run_monitors(@_);
 }
 
 =head2 filename

-----------------------------------------------------------------------


More information about the Jifty-commit mailing list