Application management
Use the application management feature to create applications (job groups), verify worker connections, and grant group-based permissions to RAM users.
Create an application
You must create an application before creating a job.
Step 1: Basic configuration
-
General application: For applications not deployed on Kubernetes, or if you do not need to run k8s jobs.
-
k8s application: For applications deployed on Kubernetes that need to run k8s jobs.
-
This parameter is not supported for the Basic Edition of general applications.
-
If no data is written to the log service for more than one year, it will be automatically disabled. You must re-enable it manually.
-
Financial day: A trading day for financial services.
-
Workday: A standard day for business operations.
-
Log on to the SchedulerX console.
-
In the top navigation bar, select a region.
-
In the left-side navigation pane, click Application Management.
-
On the Application Management page, select a namespace and click Create Application.
-
In the Basic Configuration wizard, enter an Application Name and Application ID, select an application type, configure advanced settings as needed, and then click Next.
|
Category |
Parameter |
Description |
Default |
|
Basic Information |
Application Name |
Enter a custom name for the application. |
None |
|
Application ID |
The Application ID is the GroupID for the application. It must be unique within the same namespace; otherwise, the creation fails. You can set it to be the same as the application name. |
None |
|
|
Description |
Enter a description for the application. |
None |
|
|
Application type |
|
General application |
|
|
Version |
Select an edition based on your requirements. For more information, see Billing. |
Professional Edition |
|
|
Simple Log Service |
When enabled, you can add a Log4j or Logback configuration to view business logs for each job execution, including distributed jobs, in the console to simplify troubleshooting. Note
|
On |
|
|
Worker busy configuration |
load5 |
The system's 5-minute load average. If this value is exceeded, the worker is considered busy. A value of 0 defaults to the number of CPU cores on the worker. |
0 |
|
Memory usage |
The average process memory usage over the last 5 minutes. If usage exceeds this threshold, the worker is considered busy. |
90% |
|
|
Disk usage |
The disk usage percentage. If usage exceeds this threshold, the worker is considered unhealthy and busy. |
95% |
|
|
Trigger busy workers |
Specifies whether to dispatch jobs to a worker when it is busy. |
On |
|
|
Advanced Configuration |
Maximum number of jobs |
The maximum number of jobs that a job group can contain. |
1000 |
|
Auto scaling |
Specifies whether to enable auto scaling. If enabled, you must set Global job count. |
Off |
|
|
Flow Control |
Specifies whether to enable traffic throttling. If enabled, you must set Concurrent job instances. |
Off |
|
|
Concurrent job instances |
The maximum number of job instances that can run concurrently within an application. Instances exceeding this limit are queued for execution and are not discarded. |
0 |
|
|
Calendar |
You can select a financial day or workday calendar to run jobs. |
0 |
Step 2: Notification configuration
-
In the Notification Configuration wizard, specify the Notification channel and set the Contact.
-
The supported options for Notification channel are SMS, Email, webhook, and Phone.
For more information about webhook configuration, see Webhook configuration guide.
-
You can send notifications to a Contact Group or an individual Contact.
-
Contact Group
All contacts in the group receive notifications. To learn how to create a contact group, see Create a notification contact or contact group.
-
Contact
1. To add contacts, click Add Contact, and then click Go to Create Contact. Added contacts will receive notifications.
2. In the dialog box that appears, click Create Contact and enter the contact information.
Contact information includes Name (required), Mobile, Email, webhook, and Contact Group.
-
-
-
Click Complete.
After the application is created, the application list automatically refreshes. You can view information such as the Application Name, Application ID, and Application key. You can also perform operations such as Edit, Delete, and Authorize.
Important-
Application ID: This parameter is required for agent initialization and serves as the unique identifier for a job group.
-
Application key: This parameter is required for SDK requests, is used for authentication, and must be kept confidential.
-
Webhook configuration
To obtain a webhook URL, see the developer documentation for DingTalk, WeCom, and Lark.
-
WeCom, Lark, and DingTalk webhooks are supported. You can configure multiple webhook bots at the same time. Separate multiple bot URLs with commas (,).
-
For DingTalk chatbots, you must add the custom keyword
SchedulerX(case-sensitive) in the security settings. Otherwise, alerts cannot be received. -
A contact webhook must be able to parse and process requests in the following format. The following example shows a curl command for sending a message to a contact webhook.
curl 'https://oapi.xxxxxxx \ -H 'Content-Type: application/json' \ -d ' { "msgtype": "text", "text": { "content": "SchedulerX alert details" }, "at": { "isAtAll": false } }'
View instances
After your application connects to SchedulerX, you can view its instances to verify the connection.
-
On the Application Management page, find your application and check the number in the Total Instances column.
NoteIf the Total Instances count is 0, the application failed to connect.
-
In the Actions column, click View Instances.
-
On the View Instances page, you can see the list of workers for the application and the status of each worker.
-
The number in parentheses after a worker's IP address indicates how many SchedulerX agents are running on that worker. Typically, there is only one agent, but a worker can connect to multiple agents.
-
A worker has two states: healthy and busy. By default, jobs are not dispatched to busy workers. In extreme cases, such as when all connected workers are busy, the lack of available workers causes job dispatch to fail. If you want to force-dispatch jobs to busy workers, go to Edit>Worker busy configuration and turn off the Block jobs for busy workers switch.
On the application list of the Application Management page, find the target application and click Edit in the Actions column.
-
Authorization
Application-level authorization is supported. An Alibaba Cloud account or a RAM user can grant permissions to other RAM users within the same Alibaba Cloud account.
On the Authorization page, select the target RAM user from the Unauthorized list on the left, and click the >> button to move them to the Authorized list on the right to complete the authorization.
If the system prompts No permission when you click Grant, you must use your Alibaba Cloud account to attach a custom policy to the RAM user. The policy content is as follows:
{
"Version": "1",
"Statement": [
{
"Action": "ram:ListUsers",
"Resource": "*",
"Effect": "Allow"
}
]
}
Delete an application
If you no longer need to create jobs for an application, you can delete it. After an application is deleted, its associated jobs will no longer trigger.
-
On the Application Management page, find the application you want to delete and click Delete in the Actions column.
-
In the Delete Application dialog box, confirm the application information, enter the application name, and then click OK.
-
After a job group is deleted, its associated jobs no longer trigger and do not appear on the page.
-
If you accidentally delete a job group and need to restore it, join the DingTalk group (ID: 23103656) and contact SchedulerX technical support.