Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
devel:documentation:architecture:dev:events [2019/03/19 13:36]
tomiskar [Transactions]
devel:documentation:architecture:dev:events [2020/03/24 10:44]
husniko [Entities with event support]
Line 109: Line 109:
       * supports base event types ''CREATE'', ''UPDATE'', ''DELETE''        * supports base event types ''CREATE'', ''UPDATE'', ''DELETE'' 
     * ''IdmLongRunningTaskDto'' - long running task     * ''IdmLongRunningTaskDto'' - long running task
 +      * supports base event types ''CREATE'', ''UPDATE'', ''DELETE''
       * adds event type ''END'' - long running task ended.       * adds event type ''END'' - long running task ended.
     * ''IdmEntityEventDto'' - persisted event     * ''IdmEntityEventDto'' - persisted event
Line 120: Line 121:
       * supports base event types ''CREATE'', ''UPDATE'', ''DELETE''       * supports base event types ''CREATE'', ''UPDATE'', ''DELETE''
     * ''IdmCodeListItemDto'' - code list items     * ''IdmCodeListItemDto'' - code list items
 +      * supports base event types ''CREATE'', ''UPDATE'', ''DELETE''
 +    * ''IdmNotificationTemplateDto'' - notification templates
       * supports base event types ''CREATE'', ''UPDATE'', ''DELETE''       * supports base event types ''CREATE'', ''UPDATE'', ''DELETE''
   * ''acc'':   * ''acc'':
Line 258: Line 261:
 Before event is persisted into queue, then event priority is evaluated, priority types: Before event is persisted into queue, then event priority is evaluated, priority types:
   * ''IMMEDIATE'' - immediate ~ synchronously. Event will be executed synchronously.   * ''IMMEDIATE'' - immediate ~ synchronously. Event will be executed synchronously.
-  * ''HIGH'' - asynchronously (7 / 10 in one cycle) +  * ''HIGH'' - asynchronously (7 / 10 in one cycle, batch size can be [[..:..:application_configuration:dev:backend#entity_events|configured]]
-  * ''NORMAL'' - asynchronously (3 / 10 in one cycle)+  * ''NORMAL'' - asynchronously (3 / 10 in one cycle, batch size can be [[..:..:application_configuration:dev:backend#entity_events|configured]])
  
 Events are processed from queue by internal scheduled tasks by priority. Events with ''HIGH'' priority will use 7 slots, events with ''NORMAL'' priority will use 3 slots => events will be processed **7 / 3**, when internal scheduled task for processing events will be executed. Events are processed from queue by internal scheduled tasks by priority. Events with ''HIGH'' priority will use 7 slots, events with ''NORMAL'' priority will use 3 slots => events will be processed **7 / 3**, when internal scheduled task for processing events will be executed.
Line 287: Line 290:
   * original source (embedded dtos and audit fields are ignored).   * original source (embedded dtos and audit fields are ignored).
  
-Older duplicate events are removed - the newest event is used. Events are processed by priority in bulk, default bulk size is **100 events** => duplicates are removed only in this bulk (not configurable for now, see future development). Bulk size is designed this way, because events are processed by priority - event with ''HIGH'' priority should not wait too long for another bulk is begin to process. Remove duplicates should be redesigned from scratch - remove duplicates through whole queue.+Older duplicate events are removed - the newest event is used. Events are processed by priority in batch, default batch size can be [[..:..:application_configuration:dev:backend#entity_events|configured]] => duplicates are removed only in this batch (not configurable for now, see future development). Batch size is designed this way, because events are processed by priority - event with ''HIGH'' priority should not wait too long for another bulk is begin to process. Remove duplicates should be redesigned from scratch - remove duplicates through whole queue.
  
 === Entity state === === Entity state ===
Line 749: Line 752:
 } }
 </code> </code>
 +
  
 ===== Future development ===== ===== Future development =====
  • by tomiskar