This guide will walk you through the process of setting up the Scheduler service.
SCHEDULER_THREAD_COUNT
: Used to configure the number of threads to be used for sending expired.SCHEDULER_CALLBACKS_THREAD_COUNT
: Used to configure the number of threads for handling Kafka responses, whether the message was successfully sent or not.SCHEDULER_RETRY_THREAD_COUNT
: Specify the number of threads to use for resending messages that need to be retried.SCHEDULER_RETRY_MAX_ATTEMPTS
: This configuration parameter sets the number of retry attempts. For instance, if itβs set to 3, it means that the system will make a maximum of three retry attempts for message resending.SCHEDULER_RETRY_SECONDS
: This configuration parameter defines the time interval, in seconds, for retry attempts. For example, when set to 1, it indicates that the system will retry the operation after a one-second delay.SCHEDULER_CLEANUP_CRONEXPRESSION
: It specifies how often, in seconds, events that have already been processed should be cleaned up from the database.FLOWX_TIMER_CALCULATOR_DELAY_MAX_REPETITIONS
: This means that, for example, if our cycle step is set to one second and the system experiences a downtime of two weeks, which is equivalent to 1,209,600 seconds, and we have the βmax repetitionsβ set to 1,000,000, it will attempt to calculate the next schedule. However, when it reaches the maximum repetitions, an exception is thrown, making it impossible to calculate the next schedule. As a result, the entry remains locked and needs to be rescheduled. This scenario represents a critical case where the system experiences extended downtime, and the cycle step is very short (e.g., 1 second), leading to the inability to determine the next scheduled event.SECURITY_TYPE
: Indicates that OAuth 2.0 is the chosen security type, default value: oauth2
.SECURITY_PATHAUTHORIZATIONS_0_PATH
: Defines a security path or endpoint pattern. It specifies that the security settings apply to all paths under the β/api/β path. The **
is a wildcard that means it includes all subpaths under β/api/**β.SECURITY_PATHAUTHORIZATIONS_0_ROLESALLOWED
: Specifies the roles allowed for accessing the specified path. In this case, the roles allowed are empty (""). This might imply that access to the β/api/**β paths is open to all users or that no specific roles are required for authorization.SECURITY_OAUTH2_BASE_SERVER_URL
: This setting specifies the base URL of the OpenID server, which is used for authentication and authorization.SECURITY_OAUTH2_SERVICE_ACCOUNT_ADMIN_CLIENT_ID
: This setting specifies the service account that is essential for enabling the Start Timer event node. Ensure that you provide the correct client ID for this service account.SECURITY_OAUTH2_SERVICE_ACCOUNT_ADMIN_CLIENT_SECRET
: Along with the client ID, you must also specify the client secret associated with the service account for proper authentication.SPRING_DATA_MONGODB_URI
: The URI for the MongoDB database.SPRING_KAFKA_BOOTSTRAP_SERVERS
: Address of the Kafka serverSPRING_KAFKA_CONSUMER_GROUP_ID
: Group of consumersKAFKA_CONSUMER_THREADS
(default: 1): The number of Kafka consumer threadsKAFKA_CONSUMER_SCHEDULED_TIMER_EVENTS_THREADS
(default: 1): The number of Kafka consumer threads related to starting Timer EventsKAFKA_CONSUMER_SCHEDULED_TIMER_EVENTS_GROUP_ID
: Group of consumers related to starting timer eventsKAFKA_CONSUMER_STOP_SCHEDULED_TIMER_EVENTS_THREADS
- (default: 1): The number of Kafka consumer threads related to stopping Timer eventsKAFKA_CONSUMER_STOP_SCHEDULED_TIMER_EVENTS_GROUP_ID
: Group of consumers related to stopping timer eventsKAFKA_AUTH_EXCEPTION_RETRY_INTERVAL
: The interval between retries after AuthorizationException
is thrown by KafkaConsumer
KAFKA_TOPIC_SCHEDULE_IN_SET
: Receives scheduled message setting requests from the Admin and Process engine microservicesKAFKA_TOPIC_SCHEDULER_IN_STOP
: Handles requests from the Admin and Process engine microservices to terminate scheduled messages.KAFKA_TOPIC_SCHEDULED_TIMER_EVENTS_IN_SET
: Needed to use Timer Events nodesKAFKA_TOPIC_SCHEDULED_TIMER_EVENTS_IN_STOP
: Needed to use Timer Events nodesLOGGING_LEVEL_ROOT: INFO
(Default): Root Spring Boot microservice logsLOGGING_LEVEL_APP
: App level logs