Personal tools

Difference between revisions of "Run scripts more than once per minute"

From PhotoVoltaic Logger new generation

Jump to: navigation, search
m
m
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:Scripts]][[Category:HowTo]]
 
[[Category:Scripts]][[Category:HowTo]]
 
 
If you run the scripts by cron, the most often frequency is once per minute.
 
If you run the scripts by cron, the most often frequency is once per minute.
  
PVLng offers a wrapper script <tt>PVLng-run.sh</tt> to run a script more than once per minute.
+
PVLng offers a wrapper script <tt>PVLng-run.sh</tt> to run commands or other scripts more than once per minute.
  
 
  # ./PVLng-run.sh -h
 
  # ./PVLng-run.sh -h
 
   
 
   
  Run command each period seconds for 1 minute.
+
  Run command each given period (in seconds) for 1 minute.
  Use in cron with cron period * for each minute.
+
  Use in cron with period * for each minute.
 +
 +
usage: ./PVLng-run1.sh [options] -- script arg1 arg2 ...
 
   
 
   
  Usage: PVLng-run.sh [options] -- command parameter1 parameter2 ...
+
  options:
 +
    -p, --period            Run each ? seconds for 1 minute (runs by default once) [default:60]
 +
    -n, --nice              Niceness range from -20 (most favorable) to 19 (least favorable) [default:10]
 +
    -t, --test              Test mode, set verbosity to info level [flag]
 +
    -v, --verbose            Verbosity, use multiple times for higher level [flag]
 +
    -h, --help              This usage help
 
   
 
   
  Options:
+
  Don't miss the -- !
    -p    Period in seconds, default: 60 (run once)
+
 
    -t   Test mode
+
'''Don't forget to divide the real script name and its parameters with the "<tt>--</tt>"'''
    -v    Set verbosity level to info level
 
    -h    Show this help
 
  
 
I monitor my power consumption and my SMA inverters with the following cron tab entries:
 
I monitor my power consumption and my SMA inverters with the following cron tab entries:
Line 26: Line 30:
 
  # Fetch consumption data each 15s  
 
  # Fetch consumption data each 15s  
 
  *      *    *  *  *  ~/PVLng-run.sh -p 15 -- ~/S0/S0.sh -s Consumption.conf
 
  *      *    *  *  *  ~/PVLng-run.sh -p 15 -- ~/S0/S0.sh -s Consumption.conf
 
Don't forget to divide the real script name and its parameters with the "<tt>--</tt>"
 
  
 
If you run the wrapper script in verbose test mode, it will show you only what will happen:
 
If you run the wrapper script in verbose test mode, it will show you only what will happen:

Latest revision as of 16:40, 28 September 2014

If you run the scripts by cron, the most often frequency is once per minute.

PVLng offers a wrapper script PVLng-run.sh to run commands or other scripts more than once per minute.

# ./PVLng-run.sh -h

Run command each given period (in seconds) for 1 minute.
Use in cron with period * for each minute.

usage: ./PVLng-run1.sh [options] -- script arg1 arg2 ...

options:
    -p, --period             Run each ? seconds for 1 minute (runs by default once) [default:60]
    -n, --nice               Niceness range from -20 (most favorable) to 19 (least favorable) [default:10]
    -t, --test               Test mode, set verbosity to info level [flag]
    -v, --verbose            Verbosity, use multiple times for higher level [flag]
    -h, --help               This usage help

Don't miss the -- !

Don't forget to divide the real script name and its parameters with the "--"

I monitor my power consumption and my SMA inverters with the following cron tab entries:

# Fetch plant data each 30s, run mostly during daylight times mostly
*    4-22    *   *   *   ~/PVLng-run.sh -p 30 -- ~/SMA/Webbox.sh -s Inverters.conf
*    4-22    *   *   *   ~/PVLng-run.sh -p 30 -- ~/SMA/Webbox.sh -s Sensorbox.conf

# Fetch consumption data each 15s 
*       *    *   *   *   ~/PVLng-run.sh -p 15 -- ~/S0/S0.sh -s Consumption.conf

If you run the wrapper script in verbose test mode, it will show you only what will happen:

#  ~/PVLng-run.sh -tvp 30 -- ~/SMA/Webbox.sh -s Inverters.conf
[19:58:02.550] Period : 30
[19:58:02.554] Command: ~/PVLng-scripts/SMA/Webbox.sh -s Inverters.conf
[19:58:02.559] Run, 1 left ...
[19:58:02.563] Test mode ...
[19:58:32.572] Run, 0 left ...
[19:58:32.576] Test mode ...

For more accuracy the wrapper script will spawn the concrete command into background, so it have not to wait for it.