GrailsFlow

Add new field in ProcessNode table

Details

  • Type: Sub-task Sub-task
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 1.0
  • Fix Version/s: 1.0.12
  • Component/s: None
  • Labels:
    None
  • Request Controller:
    Please Select
  • External Supervisor:
    Please select
  • Executing Programmer:
    Antonicheva, July
  • Estimated Hours:
    16
  • Schema modification:
    Yes
  • Schema modification description:
    New field 'started_execution_on' should be added to process_node table.
  • Ext Project Id:
    JCGFW-01

Description

Logged information on node execution inconsistent
process_node.started_on db field logs time when node is activated.
Log file actually logs when node is activated and when started.

2011-12-14 20:12:03,033 [quartzScheduler_Worker-8] DEBUG (java.lang.Class) - Executing node approvalLevel3Initialization of process #200274
2011-12-14 20:12:03,036 [pool-12559-thread-1] INFO (grails.app.service.ProcessManagerService) - Executing node approvalLevel3Initialization
...
2011-12-14 20:12:06,502 [quartzScheduler_Worker-8] DEBUG (java.lang.Class) - Updating variables of process #{basicProcess.id} after execution of node 'approvalLevel3Initialization'
2011-12-14 20:12:06,525 [quartzScheduler_Worker-8] DEBUG (java.lang.Class) - Evaluating expression: null
2011-12-14 20:12:06,601 [quartzScheduler_Worker-8] DEBUG (java.lang.Class) - Activating node approving for process #200274

DB shows
finished_on|node_id|process_id|started_on
14.12.2011 20:12:06,527|approvalLevel3Initialization|200274,00|14.12.2011 20:12:00,843
14.12.2011 20:12:11,997|approving|200274,00|14.12.2011 20:12:06,527

as you can see, the log file additionally logs execution start of approvalLevel3Initialization at 20:12:03,033
This means the node was activated 20:12:00,843, but execution started only more than 2 seconds after it.

Proposed solution:

  • Introduce additional field 'started_execution_on' in process_node table;
  • Define and set 'started_execution_on' value directly before node execution;
  • Update ProcessDetails page -> add column 'Started Execution On' to nodes list;
  • Introduce new status 'RUNNING' -> node status should be set to 'RUNNING' directly before node execution;
  • Update NodeActivatorJob -> it should look for 'ACTIVATED' and 'RUNNING' nodes;

This will help us to find:

  • how much time a process took in total to run.
  • how much time it spent waiting (sum of difference started_on - started_execution_on for each node)

Activity

Hide
Antonicheva, July added a comment - 06/Feb/12 9:01 AM

Please, check changes.

Show
Antonicheva, July added a comment - 06/Feb/12 9:01 AM Please, check changes.
Hide
Shwedovsky, Dmitry added a comment - 17/Feb/12 10:40 AM

Field 'started_execution_on' added to ProcessNode table and displayed on Process Details page

Show
Shwedovsky, Dmitry added a comment - 17/Feb/12 10:40 AM Field 'started_execution_on' added to ProcessNode table and displayed on Process Details page

People

Vote (0)
Watch (0)

Dates

  • Created:
    05/Jan/12 7:19 AM
    Updated:
    24/Feb/12 8:41 AM
    Resolved:
    24/Feb/12 8:41 AM