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
|