GrailsFlow

Implementing support for asynchronous nodes

Details

  • Type: New Feature New Feature
  • Status: Closed Closed
  • Priority: Critical Critical
  • Resolution: Fixed
  • Affects Version/s: 1.0
  • Fix Version/s: 1.0.12
  • Component/s: None
  • Labels:
    None
  • Request Controller:
    Albers, Stephan
  • External Supervisor:
    Please select
  • Executing Programmer:
    Antonicheva, July
  • Current Estimated Hours:
    1
  • Ext Project Id:
    IBMQDM-01.1

Description

Currently in Grailsflow there is a special nodes executor - NodeActivatorJob. It starts periodically (each 20 secs by default), looks for "active" nodes, iterates through them and consequentially executes each node. As the result if one node executes for 5 minutes other nodes will "wait" that time.

We should have possibility to define node as 'asynchronous' and execute it in a separate thread. For this reason the following things should be done:
1. Allow to define a boolean attribute "asynchronous" per node definition.
If the attribute isn't specified, the node is synchronous, if the attribute specified as "asynchronous: true" the node should be executed asynchronously.

2. Adjusted NodeActivatorJob - if the executed node is asynchronous, a new thread should be started for the execution.
Each newly created thread should have reasonable name. The number of parallel threads should be restricted to prevent memory problems; the number should be configurable.

The tests should be adjusted too.

Activity

There are no comments yet on this issue.

People

Vote (0)
Watch (0)

Dates

  • Created:
    17/Aug/10 12:00 PM
    Updated:
    24/Feb/12 8:36 AM
    Resolved:
    24/Feb/12 8:36 AM