All Products
Search
Document Center

SchedulerX:How do I perform canary release of SchedulerX jobs?

Last Updated:Jan 04, 2024

This topic describes how to use the canary release feature of SchedulerX jobs.

Canary scheduling based on labels

When workers report to server heartbeats based on label-based routing policies, the workers can also report their labels. In this case, each job can be scheduled to the worker that has the specified label when you statically configure the job or dynamically run the job.

Solution 1: Create a canary release job based on a copy

You can copy a job to generate a canary release job, and add the prod label to the production job and the gray label to the canary release job. Then, you can use the canary release job to perform canary release tests.

image

Solution 2: Combine manual scheduling and automatic scheduling to perform canary release of a job

If you want to run a scheduled job once on the canary release worker for verification during the canary release period, you do not need to copy the job. You can continue to use the previous job and manually run the specified label once in the SchedulerX console.

image

You can also use continuous integration software such as Jenkins to automate the one-time job running. The following figure shows the procedure of automatic scheduling.

image

Specify labels for the user-side nodes

Specify labels upon application startup

When you start an application, you can use the Properties field to specify labels. The following code uses a Spring Boot project as an example.

spring.schedulerx2.label=${label}