File: Limit.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 (69 lines) | stat: -rw-r--r-- 1,596 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
60
61
62
63
64
65
66
67
68
69
ecflow.Limit
////////////


.. py:class:: Limit
   :module: ecflow

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

:term:`limit` provides a simple load management

i.e. by limiting the number of :term:`task`\ s submitted by a server.
Limits are typically defined at the :term:`suite` level, or defined in a
separate suite, so that they can be used by multiple suites.
Once a limit is defined in a :term:`suite definition`, you must also assign families/tasks to use
this limit. See  :term:`inlimit` and :py:class:`ecflow.InLimit`

Constructor::

   Limit(name,value)
      string name: the name of the limit
      int   value: The value of the limit

Usage:

.. code-block:: python

   limit = Limit('fast', 10)
    ...
   suite = Suite('s1',
                 Limit('slow',10))  # create Limit in Node constructor
   suite.add_limit(limit)           # add existing limit using function


.. py:method:: Limit.decrement( (Limit)arg1, (int)arg2, (str)arg3) -> None :
   :module: ecflow

used for test only


.. py:method:: Limit.increment( (Limit)arg1, (int)arg2, (str)arg3) -> None :
   :module: ecflow

used for test only


.. py:method:: Limit.limit( (Limit)arg1) -> int :
   :module: ecflow

The max value of the :term:`limit` as an integer


.. py:method:: Limit.name( (Limit)arg1) -> str :
   :module: ecflow

Return the :term:`limit` name as string


.. py:method:: Limit.node_paths( (Limit)arg1) -> list :
   :module: ecflow

List of nodes(paths) that have consumed a limit


.. py:method:: Limit.value( (Limit)arg1) -> int :
   :module: ecflow

The :term:`limit` token value as an integer