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 17: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.