Emakin performs most of the its heavy operations in on the background to achieve scalable and high performance outputs. These background operations are executed by emakin Emakin’s service agent without any user interaction.
When a new process is started initiated by a user, workflow state is recorded in the database without any further processing, and creates a couple of background jobs. Service agents pull retrieve the jobs from the queue and try to process in on the background. If an error occurs while processing the a job, transaction state is rollbacked and error state is reported to the system administrators. When an administrator resolves the an issue, job is re-queued in the system, from the job manager, to the process again. Some of the errors are automatically recovered by the system and queued again with time delay.
...
Service agents use multiple threads, and can also be deployed to any number of hardware instances to perform parallel execution. Jobs are executed in order of priority, and a single service agent can complete 600 jobs per minute for the basic workflow operations. This number is highly dependent on the job definition and hardware specifications.
Job Details
Each job has the following properties:
Type
Type of a job.
...
State
State of a job. Can be one of the following values; Waiting, Processing, Error, Completed, Aborted.
...
For "Aborted" and "Completed" states, job is automatically deleted from the system if the "Delete After" date passed.
...
Job Log
Each job contains a log about detailed information of what is performed in the background. Each log line has an in log level like Debug, Information, Warning, Error.
...
Job Types
Workflow Jobs
...
Created when the initiate type workflow task is scheduled to start periodically. Created by the Scheduled Task per task definition. You can find more details in the Task Evaluation section.
Work Item Evaluation
Created when the normal type workflow task is scheduled to check periodically. Created by the Scheduled Task per work item instance. You can find more details in the Task Evaluation section.
Work Item Processing
...
Emakin uses following default configuration to manage the job queue.
Name | Internal Name | Priority | Delete After (days) | Retry Duration (min) | Max Retry | Max Retry Result | Error Result | Alert Error | Alert Abort | Timeout (min) | Alert To |
---|---|---|---|---|---|---|---|---|---|---|---|
Document Full Text Indexing | Workflow.Document.FullText | Low | 2 | 60 | 20 | 10 | System Admin | ||||
Domain Deletion | Workflow.Domain.Delete | Low | None | System Admin | |||||||
Domain Upgrade | Workflow.Domain.Upgrade | Low | 180 | True | 10 | System Admin | |||||
Form Data Xml Database Replication | Workflow.FormData.XmlDatabase | Normal | 2 | 60 | 10 | 10 | System Admin | ||||
Xml Database Removal | Workflow.FormData.XmlDatabaseRemover | Normal | 2 | 60 | 10 | 10 | System Admin | ||||
Full Text Removal | Workflow.FullText.Remover | Low | 2 | 60 | 10 | 10 | System Admin | ||||
Instance Xml Database Replication | Workflow.Instance.XmlDatabase | Normal | 2 | 60 | 10 | 10 | System Admin | ||||
E-Mail Message Send | Workflow.Message.Send | Low | 90 | 5 | 10 | False | False | 10 | |||
Scheduled Task | Workflow.ScheduledTask | High | 10 | 10 | |||||||
Deadlined Work Item | Workflow.WorkItem.Deadline | High | 180 | 10 | 20 | True | 60 | ||||
Instance Full Text Indexing | Workflow.Instance.FullText | Low | 2 | 10 | 10 | 10 | System Admin | ||||
Work Item Processing | Workflow.WorkItem.Process | High | 180 | 10 | 20 | Error | True | 60 | |||
Work Item Reminder | Workflow.WorkItem.Reminder | High | 60 | 10 | System Admin | ||||||
Work Item Evaluation | Workflow.WorkItem.Evaluate | High | 180 | 10 | 20 | 60 | |||||
Task Evaluation | Workflow.Task.Evaluate | High | 180 | 60 | |||||||
File Replication | Workflow.File.Replication | Normal | 30 | 1440 | 10 | 10 | System Admin | ||||
Instance Terminate | Workflow.Instance.Terminate | Low | 180 | 60 | |||||||
Channel Synchronization | Workflow.Channel.MailSync | Normal | 20 | 10 | 3 | 60 | |||||
Case Full Text Indexing | Workflow.Case.FullText | Low | 20 | 10 | System Admin | ||||||
Case Deadline Notification | Workflow.Case.Deadline | High | 180 | 60 | System Admin | ||||||
Case Reminder | Workflow.Case.Reminder | Normal | 60 | 60 | System Admin | ||||||
Case Violation Notification | Workflow.Case.Violation | Normal | 60 | 10 | System Admin |