ExecutorGroup

Executor Group which corresponds to a service, or a business.

Executor Group

Configuration-1

NameTypeDescriptionRequired
namestringGroup nameYes
descriptionstringGroup descriptionYes
tagstringGroup tagYes

ExecutorProcessor

Executor Processor which corresponding to a physical machine, or a container.

Executor Group

Configuration-2

NameTypeDescriptionRequired
namestringProcessor nameYes
descriptionstringProcessor descriptionYes
tagstringProcessor tagYes
hoststringProcessor host , No spaces between strings, (example: 12.34.56.78:9080 )Yes
machine_idintProcessor machine-id , Value range (0 to 1023). In order to mark custom machine serial numbers and to be able to using snowflake algorithm generate unique task-instance-idYes

ExecutorProcessorBind

Executor Processor Bind, which corresponds to the association between a Executor Group and a Executor Processor, and the task needs to select the machine(Executor Processor) to execute through the association Executor Processor Bind.

Tip:

When there are hundreds of tasks associated with a certain Executor Processor Bind, it is easy to switch the machine that executes the task if you want to. Just modify the Executor Processor associated with the Executor Processor Bind, then hundreds of tasks will be removed from the old machine and executed on the new machine.

Executor Processor Bind

Configuration-3

NameTypeDescriptionRequired
group_idintGroup idYes
executor_idintProcessor idYes
namestringBinding nameYes
weightintResource Occupancy WeightsYes

Task

Task which corresponds to a set of commands given by the user that will be executed on the machine to generate task instances.

Task

Configuration-4

NameTypeDescriptionRequired
namestringTask nameYes
descriptionstringTask sescriptionYes
commandstringTask Commands for task executionYes
frequencystringFrequency for task executionYes
cron_expressionstringCron Expression for task executionYes
timeoutintCron Timeout for task executionYes
retry_timesintRetry times for task executionYes
retry_intervalintRetry interval for task executionYes
tagstringTask's tagYes
binding_ids[int]Task's bingdingYes

TaskInstance

Task Instance which corresponds to an instance of a running task (e.g a running process).

TaskInstance

Configuration-5

NameTypeDescriptionRequired
idintUnique id generated by snowflake algorithmYes
task_idintTask's idYes
namestringTask name (snapshot)Yes
descriptionstringTask description (snapshot)Yes
commandstringTask's idYes
frequencystringTask's frequency (snapshot)Yes
cron_expressionstringTask's cron_expression (snapshot)Yes
maximum_parallel_runnable_numintTask 'smaximum_parallel_runnable_num (snapshot)Yes
tagstringTask's tag (snapshot)Yes
statusintTask's Status Included(Running = 1,Finished = 2,AbnormalEnding = 3,TimeoutEnding = 4,TmanualCancellation = 5,Unknown = 81)Yes
created_timedatetimeTask Instance creation timeYes
updated_timedatetimeTask Instance Update timeYes
executor_processor_idintExecutor processor idYes
executor_processor_namestringExecutor processor name (snapshot)Yes
executor_processor_hoststringExecutor processor hostYes

User

User which corresponds to users of the system.

PS: When the system is first installed, you can set the initial user in .env.

User

Configuration-6

NameTypeDescriptionRequired
user_namestringUser account, must be uniqueYes
nick_namestringUser nicknameYes
mobilestringMobie-number(unique)Yes
emailstringEmail(unique)Yes
certificatestringPassword credentials (the station saves the password, the station does not save or save the token)Yes

StatusDataAggregation

delicate aggregates the task scheduling for the latest day, including: (successful scheduling, timeout, manual cancellation, abnormal end, normal end, etc.), which we can view in the home dashboard.

Security

There are two levels of security, 0 and 1. This can be adjusted by setting the environment variable DELICATE_SECURITY_LEVEL.

At level 0, the executor and scheduler communicate without security signatures.

Under level 1, executor and scheduler will use RSA key for authentication when binding, and then dynamically generate a token, which will be stored in the database of scheduler, and each subsequent communication will use token & sha2 hash algorithm for signature authentication.