mistral.db.v2.sqlalchemy package¶
Submodules¶
mistral.db.v2.sqlalchemy.api module¶
mistral.db.v2.sqlalchemy.filters module¶
mistral.db.v2.sqlalchemy.models module¶
-
class
mistral.db.v2.sqlalchemy.models.ActionDefinition(**kwargs)¶ Bases:
mistral.db.v2.sqlalchemy.models.DefinitionContains info about registered Actions.
-
class
mistral.db.v2.sqlalchemy.models.ActionExecution(**kwargs)¶ Bases:
mistral.db.v2.sqlalchemy.models.ExecutionContains action execution information.
-
class
mistral.db.v2.sqlalchemy.models.CronTrigger(**kwargs)¶ Bases:
mistral.db.sqlalchemy.model_base.MistralSecureModelBaseContains info about cron triggers.
-
to_dict()¶
-
-
class
mistral.db.v2.sqlalchemy.models.Definition(**kwargs)¶ Bases:
mistral.db.sqlalchemy.model_base.MistralSecureModelBase
-
class
mistral.db.v2.sqlalchemy.models.DelayedCall(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.BaseContains info about delayed calls.
-
class
mistral.db.v2.sqlalchemy.models.Environment(**kwargs)¶ Bases:
mistral.db.sqlalchemy.model_base.MistralSecureModelBaseContains environment variables for workflow execution.
-
class
mistral.db.v2.sqlalchemy.models.EventTrigger(**kwargs)¶ Bases:
mistral.db.sqlalchemy.model_base.MistralSecureModelBaseContains info about event triggers.
-
class
mistral.db.v2.sqlalchemy.models.Execution(**kwargs)¶ Bases:
mistral.db.sqlalchemy.model_base.MistralSecureModelBase
-
class
mistral.db.v2.sqlalchemy.models.NamedLock(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.BaseContains info about named locks.
Usage of named locks is based on properties of READ COMMITTED transactions of the most generally used SQL databases such as Postgres, MySQL, Oracle etc.
The locking scenario is as follows: 1. Transaction A (TX-A) inserts a row with unique ‘id’ and
some value that identifies a locked object stored in ‘name’.- Transaction B (TX-B) and any subsequent transactions tries
to insert a row with unique ‘id’ and the same value of ‘name’ field and it waits till TX-A is completed due to transactional properties of READ COMMITTED.
- If TX-A then immediately deletes the record and commits then
TX-B and or one of the subsequent transactions are released and its ‘insert’ is completed.
- Then the scenario repeats with step #2 where the role of TX-A
will be playing a transaction that just did insert.
Practically, this table should never contain any committed rows. All its usage is around the play with transactional storages.
-
class
mistral.db.v2.sqlalchemy.models.ResourceMember(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.BaseContains info about resource members.
-
class
mistral.db.v2.sqlalchemy.models.TaskExecution(**kwargs)¶ Bases:
mistral.db.v2.sqlalchemy.models.ExecutionContains task runtime information.
-
class
mistral.db.v2.sqlalchemy.models.Workbook(**kwargs)¶ Bases:
mistral.db.v2.sqlalchemy.models.DefinitionContains info about workbook (including definition in Mistral DSL).
-
class
mistral.db.v2.sqlalchemy.models.WorkflowDefinition(**kwargs)¶ Bases:
mistral.db.v2.sqlalchemy.models.DefinitionContains info about workflow (including definition in Mistral DSL).
-
class
mistral.db.v2.sqlalchemy.models.WorkflowExecution(**kwargs)¶ Bases:
mistral.db.v2.sqlalchemy.models.ExecutionContains workflow execution information.
-
mistral.db.v2.sqlalchemy.models.cls¶ alias of
TaskExecution