Workflow issues

From DocWiki

Jump to: navigation, search

Workflow execution

Workflow Cache processing

  • Creates workflow related .ser files
  • Message driven


Workflow Engine processing

  • Assignment – Pre-routing
  • Reassignment – Routing to user


Assignment

  • Work Allocation
    • Active DB tables: EGPL_ROUTING_WORK, EGPL_ROUTING_WAT, EGPL_ROUTING_VARIABLE
    • Unfinished batch - working_status = 0
    • Expired batch - working_status = 1
    • New batch
  • Activity processing
    • Workflow processing, till activity reaches queue
    • Sticky agent (i.e. same agent who originally responded to the customer) applied at Assignment time also


Reassignment

  • Work Allocation
    • Active DB tables: EGPL_ROUTING_ASSIGN_WORK, EGPL_ROUTING_ASSIGN_WAT
    • Unfinished batch - working_status = 0
    • Expired batch - working_status = 1
    • New batch
      • Not an exception queue
      • Preference wise and proportionate to the count, not department wise


Activity processing

  • Alternate Assignment and Reassignment cycles


Reassignment

  • Activity processing
    • Sticky agent
    • Round robin / Load balance
    • Processed batch gets deleted
    • Unprocessed batch – if instance is stopped in between


Workflow Assignment – troubleshooting

Workflow does not seem to be processing activities – activities in 3100, 3200, 3300, 3400 sub statuses Are workflow engine process and instance running?

  • Are workflow cache .ser files present? – Restart workflow cache and workflow engine processes and instances
  • Is the activity part of an expired work batch?
    • Change working status or wait for the batch to get expired
    • Decrease batch expiry delay to for future batches – pitfalls?
  • Is the Work Allocation thread running?
    • Check latest rules-process log for statement 'Work Allocation running‘
    • Restart workflow process and instance if thread is not running
  • Is WAT entry still not happening?
    • Check the EGPL_ROUTING_VARIABLE table and ensure that the last_processed_id is one lesser than the value of ID (egpl_routing_work id and not activity_id)
  • Is the workflow engine thread running?
    • No log statement in <Unified EIM / Unified WIM Install Dir>/logs/eg_log_<server_name>_rules-process.log OR eg_log_<server_name>_rules-cache-process.log


Workflow does not seem to be processing activities – activities in 3100, 3200, 3300, 3400 sub statuses (cont’d ..) Is the workflow engine thread running?

  • No log statement in <Unified EIM / Unified WIM Install Dir>/logs/eg_log_<server_name>_rules-process.log OR eg_log_<server_name>_rules-cache-process.log
  • Has there been a problem with DSM trying to restart the process and instance?
    • Check <Unified EIM / Unified WIM Install Dir>/logs/eg_log_<server_name>_DSMController.log
  • Are there any OutOfMemory errors in <Unified EIM / Unified WIM Install Dir>/logs/ eg_log_<server_name>_rules-process.log?
  • Increase heap size from <Unified EIM / Unified WIM Install Dir>/config/egpl_dsm.xml
    • Check the Task Manager - Is the OS process ID (found in the latest rules_process_log or egpl_process_ids.properties) actually running?


Activities are getting routed to the Exception queue

  • Query egpl_notes table of Active DB (or notes details from UI) for information on workflow/reason
  • Check <Unified EIM / Unified WIM Install Dir>/logs/eg_log_<server_name>_rules-process.log OR eg_log_<server_name>_rules-cache-process.log
    • Look at SEVERE logs containing the Activity ID
    • Work Allocation INFO level logs on ‘Range of activities in current work…’ and ‘Deleting range :…’ are also useful.


Activities are getting routed to Exception queue

  • Check Audit trail from egpl_event_history_case_mgmt and egpl_event_history_user
  • Activity could have been in 3900 state, and the workflow process and instance may have been restarted by DSM, because the batch processing exceeded the restart time interval
    • Look for note - I18N_EGPL_ROUTING_MOVING_ACTIVITY_TO_EXCEPTION_QUEUE_AS_RULE_FAILED_TO_EXECUTE
    • Increase the restart time interval
    • Investigate the slowness – maybe the DB needs re-indexing, or Archiving of activities is needed.


Changes made to workflow are not reflected in activity processing

  • Check if config\routing\cache.ser files are latest
  • Restart workflow cache and workflow engine processes and instances
  • Check Message listener health from Weblogic/JBOSS Admin Console


Activities are in 4100 sub status with queue_id as null

  • Check if there is an active workflow for the entry point alias. If no, check if there is an active Finish workflow
  • If the workflow has been newly created, it may not have reflected due to cache related problems. Restart workflow cache, and engine processes and instances.


Workflow Reassignment – troubleshooting

Activities are part of EGPL_ROUTING_ASSIGN_WORK and EGPL_ROUTING_ASSIGN_WAT, but do not get processed

  • Check working_status of batch. Expired batches will get picked up only after 4 hours.

Batches get created and deleted, but activities do not getting assigned to agents

  • Check whether activity should have been routed to the sticky agent
    • User should be available for Mail, if the condition is ‘When available’
    • User’s user load should not have reached limit, if the condition is ‘When available’
    • User should be from same department
  • Check why Load Balancing/Round Robin does not seem to be working
    • Check user login status – Logged In means egpl_user.user_state = 1
    • User should be available for Mail, if the condition is ‘When available’ (I.e. user_party_activity_type.user_activity_state = 3)
    • User’s user load should not have reached limit, if the condition is ‘When available’

Batches get created and deleted, but activities do not getting assigned to agents

  • Check why Load Balancing/Round Robin does not seem to be working
    • There should be no row for the user_id, activity_id combination in EGPL_ROUTING_USER_ACT table
  • Entry is made in the table if Activity is auto pushed back or transferred from user with “Allow these activities to be assigned to me by system" checkbox as unchecked(which is the default state of this checkbox).

Batches for some activities do not get created at all

  • This happens if activities from the existing batches cannot be assigned due to any of the above reasons. These activities keep getting picked up on account of the preference. The only way out is to either get these activities assigned/completed or the preference changed.

Activities end up in the Exception queue

  • Analyze error messages in <Unified EIM / Unified WIM Install Dir>/logs/eg_log_<server_name>_rules-process.log OR eg_log_<server_name>_rules-cache-process.log


Best Practices

Workflow process – sizing and performance

  • JVM heap size
    • Depends on how complicated the workflows are, and whether there are memory intensive operations
    • Changing Rules process JVM heap size in egpl_dsm.xml
  • Avoid many instances per process, to prevent memory errors
  • If the load is high, or faster processing is needed, create additional processes and instances
    • Assignment and Reassignment will happen only once in two cycles
  • Batch size may be increased to accommodate more mails per cycle

Others

  • Use ‘Always’ routing, if agent affinity is required
  • Adjust user load as per requirements
  • Adjust restart interval based on time needed for processing of a batch
  • Use separate queue for Undeliverables

Rating: 0.0/5 (0 votes cast)

Personal tools