deb-murano/murano/dsl
Alexander Tivelkov c4c8be61e0 Concurrent Execution Control
Added a meta-attrbute class `io.murano.metadata.Synchronize` which may
be attached to any Murano methods to control which objects should
Murano Executor use as synchronization primitives for concurrent
exeutions of the marked methods.
No two methods cannot be called concurrently if their use the same
synhronization objects.
By default (if no attribute is present) the old behavior is preserved:
method calls are synchronized on the objects they are called for.

The attribute has two properties:

* `onThis` (defaults to true) indicates that the method calls should
  be synchronized on target object.
* `onArgs` (defaults to an empty list) indicated that the method calls
  should be synchronized on the values of arguments with the specified
  names.

Truly 'thread-safe' methods may be declared by providing this
attribute with `onThis` set to 'false' and `onArgs` set to default
empty list value.

Executor is modified to properly use this attribute.

Targets-blueprint: application-development-framework

Change-Id: Iea028df1105c57a31a22887916c2428929b83e59
2016-07-28 19:24:50 +03:00
..
principal_objects Refactoring of the ObjectStore passing in DSL 2016-07-27 02:32:18 +00:00
__init__.py Rename muranoapi to murano 2014-05-27 15:14:44 +04:00
attribute_store.py Use more generic "type" name instead of "murano_class" 2016-02-26 17:25:25 +03:00
constants.py Refactoring of the ObjectStore passing in DSL 2016-07-27 02:32:18 +00:00
context_manager.py Use more generic "type" name instead of "murano_class" 2016-02-26 17:25:25 +03:00
dsl_exception.py Py3 compatibility fixes 2016-03-03 13:02:45 +00:00
dsl_types.py Implement new syntax for action declaration 2016-06-25 15:13:16 +03:00
dsl.py Refactoring of the ObjectStore passing in DSL 2016-07-27 02:32:18 +00:00
exceptions.py Implement API call and RPC call for static actions 2016-07-07 17:21:59 +00:00
executor.py Concurrent Execution Control 2016-07-28 19:24:50 +03:00
expressions.py Merge "Python3: Replace dict.iteritems with six.iteritems" 2016-01-15 15:17:40 +00:00
helpers.py Ability to instantiate object graph 2016-07-28 14:13:22 +00:00
lhs_expression.py Extension methods were introduced to MuranoPL 2016-03-03 15:01:30 +00:00
macros.py Extension methods were introduced to MuranoPL 2016-03-03 15:01:30 +00:00
meta.py Ability to instantiate object graph 2016-07-28 14:13:22 +00:00
murano_method.py Refactoring of the ObjectStore passing in DSL 2016-07-27 02:32:18 +00:00
murano_object.py dump() function added to DSL 2016-07-28 18:45:38 +03:00
murano_package.py Refactoring of the ObjectStore passing in DSL 2016-07-27 02:32:18 +00:00
murano_property.py Refactoring of the ObjectStore passing in DSL 2016-07-27 02:32:18 +00:00
murano_type.py Ability to instantiate object graph 2016-07-28 14:13:22 +00:00
namespace_resolver.py Support of MuranoPL extended metadata was added 2016-03-03 12:32:19 +00:00
object_store.py Ability to instantiate object graph 2016-07-28 14:13:22 +00:00
package_loader.py Package versioning 2015-09-03 12:06:42 +00:00
reflection.py Event Notification pattern implemented 2016-07-28 18:50:04 +03:00
serializer.py dump() function added to DSL 2016-07-28 18:45:38 +03:00
session_local_storage.py Major refactoring of how OS clients are created and managed 2016-02-20 17:59:11 +03:00
type_scheme.py Ability to instantiate object graph 2016-07-28 14:13:22 +00:00
typespec.py Refactoring of the ObjectStore passing in DSL 2016-07-27 02:32:18 +00:00
virtual_exceptions.py Replace unicode with six.text_type 2015-12-28 05:07:08 -08:00
yaql_expression.py Use precompiled regex for yaql expression detection 2016-02-28 19:59:49 +03:00
yaql_functions.py dump() function added to DSL 2016-07-28 18:45:38 +03:00
yaql_integration.py Refactoring of the ObjectStore passing in DSL 2016-07-27 02:32:18 +00:00