When you run distributed jobs across multiple workers, you need a way to group those jobs, control how they connect, and monitor worker health. In SchedulerX, an application serves as this top-level container -- it maps to a job group and holds the configuration for worker monitoring, notifications, and access control.
Use the Application Management page in the SchedulerX console to create, monitor, authorize, and delete applications.
Create an application
Create an application before you create jobs. The application groups your jobs and provides the entry point for agent and SDK connectivity.
Before you begin, make sure you have:
A SchedulerX namespace to host the application
A unique application ID (this ID also serves as the job group ID and is required for agent initialization)
Step 1: Configure basic settings
Log on to the MSE SchedulerX console.
In the top navigation bar, select a region.
In the left-side navigation pane, click Application Management.
Select a namespace, then click Create application.
In the Basic Configuration step, configure the following parameters and click Next Step.
Basic information
| Parameter | Description | Default |
|---|---|---|
| Application Name | A descriptive name for the application. | N/A |
| Application ID | A unique identifier within the namespace. This ID doubles as the job group ID after the application connects to SchedulerX. | N/A |
| Description | A brief description of the application. | N/A |
| app type | The deployment model. Select general app for standard deployments, or k8s App for Kubernetes-based deployments that require Kubernetes jobs. | general app |
| Release | The SchedulerX edition. Select a version based on your requirements. | Professional Edition |
| Remote Log Server | When enabled, SchedulerX streams scheduling logs for all jobs (including distributed jobs) to the console. Requires Log4j or Logback configuration in your application. | Enabled |
The Remote Log Server option is unavailable for Basic Edition general applications. This feature is automatically disabled if no write operation occurs within a year. Re-enable it manually when needed.
Machine Instance busy configuration
These thresholds determine when a worker is marked as Busy. By default, SchedulerX does not schedule jobs to busy workers.
| Parameter | Description | Default |
|---|---|---|
| load5 | The 5-minute CPU load threshold. A value of 0 means the worker is never considered busy based on CPU load. | 0 |
| Memory usage | The 5-minute average memory usage threshold. | 90% |
| Disk Usage | The disk usage threshold. | 95% |
| Whether to trigger a busy machine | When enabled, SchedulerX continues to schedule jobs to busy workers. Disable this to skip busy workers entirely. | Enabled |
Advanced configuration
| Parameter | Description | Default |
|---|---|---|
| Maximum number of tasks | The maximum number of jobs an instance group supports. | 1000 |
| Automatic expansion | Enables automatic scaling. When enabled, configure the Number of global tasks parameter. | Disabled |
| Flow Control | Enables throttling. When enabled, configure the Number of concurrent task instances parameter. | Disabled |
| Number of concurrent task instances | The maximum number of concurrent job instances for the application. Excess instances wait in a queue. | 0 |
| Calendar | Sets a business calendar. Options: Financial day (trading days for financial business) or Workday (standard working days). | 0 |
Step 2: Configure notifications
In the Notification configuration step, set the Notification channel and Notify contact parameters.
Notification channel: Select one or more channels -- SMS, Mail, webhook, or Telephone.
Notify contact: Choose a Contact group (all members receive notifications) or add individual contacts by selecting Contact. For more information about creating contact groups, see the Create a notification contact and a notification contact group section.
To add a new contact, click Add contact > Go to create a contact. On the contacts page, click New contact and enter the contact information.



Click Complete.
After the application is created, it appears in the application list.

After creation, record the following values from the application list:
Application ID: Required for agent initialization. Also serves as the unique job group identifier.
Application key: Required for SDK request authentication. Do not share this key with other users.
Configure a webhook
SchedulerX supports webhooks for WeCom, Lark, and DingTalk. To configure multiple webhook bots, separate URLs with commas (,).
For webhook setup instructions, see the platform-specific documentation:
If you configure a DingTalk webhook, you must include the keyword SchedulerX (case-sensitive) in the bot security settings. Otherwise, alerts are not delivered.For a custom webhook, verify that it can parse requests in the following format:
curl 'https://oapi.xxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
"msgtype": "text",
"text": {
"content": "Details of the alert triggered in SchedulerX"
},
"at": {
"isAtAll": false
}
}'View instances
After an application connects to SchedulerX, verify that workers are online and review their status.
On the Application Management page, check the Total number of instances column.
If the value in the Total number of instances column is 0, you failed to connect the job for the application to SchedulerX.
Click View instances in the Operation column to open the Connect to an instance panel.
Review the worker list. Each entry shows: To force job scheduling on busy workers, click Edit in the Operation column of the application, then disable the Whether to trigger a busy machine switch in the Machine Instance busy configuration section.
IP address and agent count: The number in parentheses after the IP address indicates how many SchedulerX agents run on that worker. In most cases, each worker runs a single agent.
Status: Either Health (normal) or Busy (one or more thresholds exceeded). By default, SchedulerX skips busy workers when scheduling jobs. If all workers are busy, no jobs are scheduled.


Grant RAM users access to an application
Grant Resource Access Management (RAM) users access to a specific application. You can grant permissions from either an Alibaba Cloud account or a RAM user with sufficient privileges.
On the Application Management page, click Authorization in the Operation column of the target application.

If the system displays you do not have the required permissions, attach the following custom policy to the RAM user through your Alibaba Cloud account:{
"Version": "1",
"Statement": [
{
"Action": "ram:ListUsers",
"Resource": "*",
"Effect": "Allow"
}
]
}Delete an application
Deleting an application stops all associated jobs from being triggered and removes the application from the Application Management page.
On the Application Management page, click Delete in the Operation column of the target application.
In the Delete application dialog box, confirm the application information, enter the application name, and click OK.
Deletion is irreversible through the console. If you accidentally delete an application, join the DingTalk group (23103656) for technical support to request restoration.