# Predefined Actions
# Collect Messages
The queue process collects a group of incoming messages into a Redis array. Because special characters are common in such an incoming message, we base64 encode all the messages before storing them for the session.
Once the queue process started, a timer is initiated with the provided
By default, the queue timeout equals to
5 seconds. You can override this behaivor and send your own
queue_timeout under payload object.
payload: queue_timeout: 10
The process will restart the timer for every incoming message until the timeout has passed from the last incoming message.
# queue is a simple operation # that points to a predefined, internal application type: Operation # define the pointers to the # internal app & app action selector: workflow: - some_example_workflow app: core app_action: queue # points to the next operations next: selector: - type: operation data: workflow: some_example_workflow next: op_after_queue_messages # unique operation identifier key: my_queue_operation
# Update Session Info
There are some cases where you need to update the session information directly as a complete step. The
update_session operation does precisely that.
The example below takes advantage of the format_function capabilities to increment a counter.
Learn more about format_function
# update session is a simple operation # that points to a predefined, internal application type: Operation # define the pointers to the # internal app & app action selector: app: core app_action: update_session # modify input data input: format_function: # choose the wanted format function - operation: increment # set the detination for the writting # processes output: counter # define the format function value value: # taking the last counter value data: counter # pull the last counter from redis type: redis # defining the method # to pull data from redis rkey_type: hash_map # provide additional arguments for the increment # function args: # increment the value by one amount: 1