Terminology
Primary Terms
It is important to understand the following terms when using this module for custom development
Term | Description |
---|---|
Node | A node is any Broadleaf VM that is setup to receive events. Nodes are either SITE or ADMIN nodes. |
Event | Represents a process that should be immediately executed. Typically on one or more nodes. |
Job | A job represents the scheduling information for a process that needs to be executed. When the time hits to run the job, the system will create an event based on the job details. |
Master Node | Within a Broadleaf Cluster, one of the nodes is considered the master. The Master Node is responsible for syncing the Job Details with underlying Quartz timers that actually "fire" when the jobs should be executed. When a job "fires", the Master Node publishes an event for the other nodes to process. The master node is also responsbile for cleanup routines used by the Jobs |
Event Specific Terms
Events have a few properties that drive the execution behavior
Term | Description |
---|---|
Universal | An event flagged as universal will be collapsed. So, if the same event is fired multiple times, only the last one will actually be run. As an example, if the purge cart event was fired 10 times before it was actually processed, we only need to run the last occurrence. |
Serial Execution | When events are set to be executed serially, the system will guarantee that the events are processed in order. |
Priority | Events can be given priority to ensure that higher priority events are processed first by the scheduler. |
Event Worker Type | Can be SITE, ADMIN, or ANY. Indicates which nodes should process the event. |
Scope - VM | Run the event on a single, arbitrary VM. |
Scope - GLOBAL | Run the event on all nodes matching the worker type. |
Scope - LOCAL | Only run the event on the current node. |
Scope - DURABLE | Similar to GLOBAL but the event will be picked up and run by servers even if they were down when the event was fired. |