File: Time.rst

package info (click to toggle)
ecflow 5.15.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 51,868 kB
  • sloc: cpp: 269,341; python: 22,756; sh: 3,609; perl: 770; xml: 333; f90: 204; ansic: 141; makefile: 70
file content (59 lines) | stat: -rw-r--r-- 1,923 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
ecflow.Time
///////////


.. py:class:: Time
   :module: ecflow

   Bases: :py:class:`~Boost.Python.instance`

Is used to define a :term:`time` dependency

This can then control job submission.
There can be multiple time dependencies for a node, however overlapping times may
cause unexpected results. The time dependency can be made relative to the beginning
of the suite or in repeated families relative to the beginning of the repeated family.

Constructor::

   Time(string)
     string: i.e '00:30' || '00:30 20:00 00:30'   Time(hour,minute,relative<optional> = false)
      int hour:               hour in 24 clock
      int minute:             minute <= 59
      bool relative<optional>: default = False, Relative to suite start or repeated node.

   Time(single,relative<optional> = false)
      TimeSlot single:         A single time
      bool relative:           Relative to suite start or repeated node. Default is false

   Time(start,finish,increment,relative<optional> = false)
      TimeSlot start:          The start time
      TimeSlot finish:         The finish/end time
      TimeSlot increment:      The increment
      bool relative<optional>: default = False, relative to suite start or repeated node

   Time(time_series)
      TimeSeries time_series:Similar to constructor above

Exceptions:

- raises IndexError when an invalid Time is specified

Usage:

.. code-block:: python

   time1 = Time( 10,10 )                                                   #  time 10:10 
   time2 = Time( TimeSlot(10,10), true)                                    #  time +10:10 
   time2 = Time( TimeSlot(10,10), TimeSlot(20,10),TimeSlot(0,10), false )  #  time 10:10 20:10 00:10 

   t = Task('t1',
            time1,time2,time3,
            Time('10:30 20:10 00:10')) # Create time in place


.. py:method:: Time.time_series( (Time)arg1) -> TimeSeries :
   :module: ecflow

Return the Time attributes time series