Personal tools

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

From PhotoVoltaic Logger new generation

Jump to: navigation, search
(Created page with "Category:ScriptsCategory:HowTo 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 ru...")
 
m
 
(3 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-run.sh [options] -- command parameter1 parameter2 ...
+
  usage: ./PVLng-run1.sh [options] -- script arg1 arg2 ...
 
   
 
   
  Options:
+
  options:
     -p   Period in seconds, default: 60 (run once)
+
     -p, --period            Run each ? seconds for 1 minute (runs by default once) [default:60]
     -t   Test mode
+
    -n, --nice              Niceness range from -20 (most favorable) to 19 (least favorable) [default:10]
    -v    Set verbosity level to info level
+
     -t, --test              Test mode, set verbosity to info level [flag]
     -vv  Set verbosity level to debug level
+
     -v, --verbose            Verbosity, use multiple times for higher level [flag]
     -h   Show this help
+
     -h, --help              This usage help
 +
 +
Don't miss the -- !
 +
 
 +
'''Don't forget to divide the real script name and its parameters with the "<tt>--</tt>"'''
  
 
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 28: Line 31:
 
  *      *    *  *  *  ~/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:
 +
 
 +
#  ~/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.

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.