Note |
---|
title | Note!This section is only relevant for Python agents in batch workflows. |
---|
...
The value of a persistent variable must be compatible with drany
. For further information, see APL and Ultra Field Types for Python (3.3).
Note |
title |
---|
Note!A persistent variable is not the same as a normal Python global variable. A normal global variable is not persisted between executions of a workflow. Do not rely on normal global variables for any state necessary to finalize a transaction. |
Info |
title |
---|
Example - Persistent variables for Python collection agent Code Block |
---|
counter = persistent(0) # Defines a persistent variable with default value 0
start = persistent(drdate.now()) # Defines another persistent variable with the start date
def initialize():
if counter.value == 0:
debug('This is the first time this workflow has processed batches')
else:
debug('This workflow has processed batches before')
def execute():
debug('execute')
beginBatch() # Starts a new batch
counter.value += 1
endBatch() # Ends the batch, all persistent variables have been persisted when this call returns
def commit():
debug('commit')
# The persistent variables are available in commit during both normal and recovery commits
debug(counter)
debug(start)
|
|
Info |
title |
---|
Example - Persistent variables for Python processing agent Code Block |
---|
counter = persistent(0) # Defines a persistent variable with default value 0
def endBatch():
debug('endBatch')
counter.value += 1
# The persistent variable is persisted after this function block has been executed
def commit():
debug('commit')
# The persistent variable is available in commit during both normal and recovery commits
debug(counter)
|
|
...