blob: 83f193089aa05895931b7b8c6428b4a5d2803cc6 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en" class="js csstransforms3d">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="generator" content="Hugo 0.70.0" />
<meta name="description" content="">
<meta name="buildDate" content="2020-10-19 15:08:01">
<link rel="shortcut icon" href="https://shardingsphere.apache.org/elasticjob/images/favicon.png" type="image/x-icon" />
<title>Elastic Schedule :: ElasticJob</title>
<link href="https://shardingsphere.apache.org/elasticjob/current/css/nucleus.css?1603091281" rel="stylesheet">
<link href="https://shardingsphere.apache.org/elasticjob/current/css/font-awesome.min.css?1603091281" rel="stylesheet">
<link href="https://shardingsphere.apache.org/elasticjob/current/css/hybrid.css?1603091281" rel="stylesheet">
<link href="https://shardingsphere.apache.org/elasticjob/current/css/featherlight.min.css?1603091281" rel="stylesheet">
<link href="https://shardingsphere.apache.org/elasticjob/current/css/perfect-scrollbar.min.css?1603091281" rel="stylesheet">
<link href="https://shardingsphere.apache.org/elasticjob/current/css/auto-complete.css?1603091281" rel="stylesheet">
<link href="https://shardingsphere.apache.org/elasticjob/current/css/theme.css?1603091281" rel="stylesheet">
<link href="https://shardingsphere.apache.org/elasticjob/current/css/hugo-theme.css?1603091281" rel="stylesheet">
<link href="https://shardingsphere.apache.org/elasticjob/current/css/theme-black.css?1603091281" rel="stylesheet">
<script src="https://shardingsphere.apache.org/elasticjob/current/js/jquery-2.x.min.js?1603091281"></script>
<style type="text/css">
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
</style>
</head>
<body class="" data-url="/en/features/elastic/">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<img src="https://shardingsphere.apache.org/elasticjob/current/img/elasticjob.png" />
</div>
</div>
<div class="highlightable">
<ul class="topics">
<li data-nav-id="/en/overview/" title="Overview" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/overview/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>1. </b>Overview
</a>
</li>
<li data-nav-id="/en/quick-start/" title="Quick Start" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/quick-start/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>2. </b>Quick Start
</a>
<ul>
<li data-nav-id="/en/quick-start/elasticjob-lite/" title="ElasticJob-Lite" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/quick-start/elasticjob-lite/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>2.1. </b>ElasticJob-Lite
</a>
</li>
<li data-nav-id="/en/quick-start/elasticjob-cloud/" title="ElasticJob-Cloud" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/quick-start/elasticjob-cloud/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>2.2. </b>ElasticJob-Cloud
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/features/" title="Concepts &amp; Features" class="dd-item
parent
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/features/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>3. </b>Concepts &amp; Features
</a>
<ul>
<li data-nav-id="/en/features/schedule-model/" title="Schedule Model" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/features/schedule-model/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>3.1. </b>Schedule Model
</a>
</li>
<li data-nav-id="/en/features/elastic/" title="Elastic Schedule" class="dd-item active">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/features/elastic/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>3.2. </b>Elastic Schedule
</a>
</li>
<li data-nav-id="/en/features/resource/" title="Resource Assign" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/features/resource/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>3.3. </b>Resource Assign
</a>
</li>
<li data-nav-id="/en/features/failover/" title="Failover" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/features/failover/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>3.4. </b>Failover
</a>
</li>
<li data-nav-id="/en/features/misfire/" title="Misfire" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/features/misfire/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>3.5. </b>Misfire
</a>
</li>
<li data-nav-id="/en/features/job-type/" title="Job Open Ecosystem" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/features/job-type/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>3.6. </b>Job Open Ecosystem
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/" title="User Manual" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>4. </b>User Manual
</a>
<ul>
<li data-nav-id="/en/user-manual/elasticjob-lite/" title="ElasticJob-Lite" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>4.1. </b>ElasticJob-Lite
</a>
<ul>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/" title="Usage" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>4.1.1 </b>Usage
</a>
<ul>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/job-api/" title="Job API" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-api/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Job API
</a>
<ul>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/job-api/job-interface/" title="Job Development" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-api/job-interface/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Job Development
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/job-api/java-api/" title="Use Java API" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-api/java-api/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Java API
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/job-api/spring-boot-starter/" title="Use Spring Boot Starter" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-api/spring-boot-starter/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Spring Boot Starter
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/job-api/spring-namespace/" title="Use Spring Namespace" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-api/spring-namespace/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Spring Namespace
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/job-listener/" title="Job Listener" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-listener/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Job Listener
</a>
<ul>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/job-listener/listener-interface/" title="Listener Development" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-listener/listener-interface/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Listener Development
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/job-listener/java-api/" title="Use Java API" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-listener/java-api/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Java API
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/job-listener/spring-namespace/" title="Use Spring Namespace" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-listener/spring-namespace/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Spring Namespace
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/event-trace/" title="Event Trace" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/event-trace/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Event Trace
</a>
<ul>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/event-trace/java-api/" title="Use Java API" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/event-trace/java-api/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Java API
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/event-trace/spring-boot-starter/" title="Use Spring Boot Starter" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/event-trace/spring-boot-starter/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Spring Boot Starter
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/event-trace/spring-namespace/" title="Use Spring Namespace" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/event-trace/spring-namespace/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Spring Namespace
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/event-trace/table-structure/" title="Table Structure" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/event-trace/table-structure/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Table Structure
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/usage/operation-api/" title="Operation API" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/operation-api/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
Operation API
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/configuration/" title="Configuration" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>4.1.2 </b>Configuration
</a>
<ul>
<li data-nav-id="/en/user-manual/elasticjob-lite/configuration/java-api/" title="Java API" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/java-api/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Java API
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/configuration/spring-boot-starter/" title="Spring Boot Starter" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/spring-boot-starter/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Spring Boot Starter
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/configuration/spring-namespace/" title="Spring Namespace" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/spring-namespace/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Spring Namespace
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/configuration/built-in-strategy/" title="Built-in Strategy" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/built-in-strategy/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Built-in Strategy
</a>
<ul>
<li data-nav-id="/en/user-manual/elasticjob-lite/configuration/built-in-strategy/sharding/" title="Job Sharding Strategy" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/built-in-strategy/sharding/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Job Sharding Strategy
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/configuration/built-in-strategy/thread-pool/" title="Thread Pool Strategy" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/built-in-strategy/thread-pool/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Thread Pool Strategy
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/configuration/built-in-strategy/error-handler/" title="Error Handler Strategy" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/built-in-strategy/error-handler/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Error Handler Strategy
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/configuration/props/" title="Job Properties" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/props/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Job Properties
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/operation/" title="Operation" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/operation/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>4.1.3 </b>Operation
</a>
<ul>
<li data-nav-id="/en/user-manual/elasticjob-lite/operation/deploy-guide/" title="Deploy Guide" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/operation/deploy-guide/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Deploy Guide
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/operation/dump/" title="Dump Job Information" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/operation/dump/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Dump Job Information
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/operation/execution-monitor/" title="Execution Monitor" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/operation/execution-monitor/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Execution Monitor
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-lite/operation/web-console/" title="Console" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/operation/web-console/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Console
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/elasticjob-cloud/" title="ElasticJob-Cloud" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>4.2. </b>ElasticJob-Cloud
</a>
<ul>
<li data-nav-id="/en/user-manual/elasticjob-cloud/usage/" title="Usage" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/usage/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>4.2.1. </b>Usage
</a>
<ul>
<li data-nav-id="/en/user-manual/elasticjob-cloud/usage/dev-guide/" title="Dev Guide" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/usage/dev-guide/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Dev Guide
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-cloud/usage/local-executor/" title="Local Executor" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/usage/local-executor/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Local Executor
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/elasticjob-cloud/configuration/" title="Configuration" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/configuration/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>4.2.2. </b>Configuration
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-cloud/operation/" title="Operation" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/operation/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>4.2.3. </b>Operation
</a>
<ul>
<li data-nav-id="/en/user-manual/elasticjob-cloud/operation/deploy-guide/" title="Deploy Guide" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/operation/deploy-guide/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Deploy Guide
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-cloud/operation/high-availability/" title="High Available" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/operation/high-availability/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
High Available
</a>
</li>
<li data-nav-id="/en/user-manual/elasticjob-cloud/operation/web-console/" title="Console" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/operation/web-console/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Console
</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/dev-manual/" title="Dev Manual" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>5. </b>Dev Manual
</a>
<ul>
<li data-nav-id="/en/dev-manual/sharding/" title="Job Sharding Strategy" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/sharding/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.1. </b>Job Sharding Strategy
</a>
</li>
<li data-nav-id="/en/dev-manual/thread-pool/" title="Thread Pool Strategy" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/thread-pool/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.2. </b>Thread Pool Strategy
</a>
</li>
<li data-nav-id="/en/dev-manual/error-handler/" title="Error Handler" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/error-handler/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.3. </b>Error Handler
</a>
</li>
<li data-nav-id="/en/dev-manual/job-class-provider/" title="Job Class Name Provider" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/job-class-provider/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.4. </b>Job Class Name Provider
</a>
</li>
<li data-nav-id="/en/dev-manual/roadmap/" title="Roadmap" class="dd-item ">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/roadmap/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.5. </b>Roadmap
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/downloads/" title="Downloads" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/downloads/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>6. </b>Downloads
</a>
</li>
<li data-nav-id="/en/powered-by/" title="Powered By" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/powered-by/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>7. </b>Powered By
</a>
</li>
<li data-nav-id="/en/faq/" title="FAQ" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/faq/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>8. </b>FAQ
</a>
</li>
<li data-nav-id="/en/blog/" title="Blog" class="dd-item
">
<a href="https://shardingsphere.apache.org/elasticjob/current/en/blog/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>9. </b>Blog
</a>
</li>
</ul>
<section id="prefooter">
<hr/>
<ul>
<li>
<a class="padding">
<i class="fa fa-fw fa-language"></i>
<div class="select-style">
<select id="select-language" onchange="location = this.value;">
<option id="en" value="/elasticjob/current/en/features/elastic/" selected>English</option>
<option id="cn" value="/elasticjob/current/cn/features/elastic/">简体中文</option>
</select>
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
<g>
<g id="arrow-drop-down">
<polygon points="0,63.75 127.5,191.25 255,63.75 " />
</g>
</g>
</svg>
</div>
</a>
</li>
</ul>
</section>
<hr />
<a class="padding" href="https://shardingsphere.apache.org/pdf/shardingsphere-elasticjob_docs_en.pdf">
<i class="fa fa-fw fa-file-pdf-o" ></i>&nbsp;Download PDF&nbsp;&nbsp;
</a>
<section id="footer">
<p></p>
</section>
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="padding highlightable">
<div>
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" title='Edit this page' href="https://github.com/apache/shardingsphere/tree/master/docs/document/content/features/elastic.en.md" target="blank">
<i class="fa fa-code-fork"></i>
<span id="top-github-link-text">Edit this page</span>
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
</span>
<span class="links">
<a href='https://shardingsphere.apache.org/elasticjob/current/en/'>ElasticJob</a> > <a href='https://shardingsphere.apache.org/elasticjob/current/en/features/'>Concepts & Features</a> > Elastic Schedule
</span>
</div>
</div>
</div>
<div id="chapter">
<div id="body-inner">
<nav id="TableOfContents">
<ul>
<li><a href="#sharding">Sharding</a>
<ul>
<li><a href="#sharding-item">Sharding Item</a></li>
<li><a href="#customized-sharding-options">Customized sharding options</a></li>
</ul>
</li>
<li><a href="#maximize-the-usage-of-resources">Maximize the usage of resources</a></li>
<li><a href="#high-availability">High Availability</a></li>
</ul>
</nav>
<p>Elastic schedule is the most important feature in ElasticJob, which acts as a job processing system that enables the horizontal scaling of jobs by sharding, it&rsquo;s also the origin of the project name &ldquo;ElasticJob&rdquo;.</p>
<h2 id="sharding">Sharding</h2>
<p>A concept in ElasticJob to split the job, enabling the job to be executed in distributed environment, where every single server only executes one of the slice that is assigned to it.
ElasticJob is aware of the number of servers in an almost-real-time manner, with the increment/decrement number of the servers, it re-assigns the job slices to the distributed servers, maximizing the efficiency as the increment of resources.</p>
<p>To execute the job in distributed servers, a job will be divided into multiple individual job items, one or some of which will be executed by the distributed servers.</p>
<p>For example, if a job is divided into 4 slices, and there&rsquo;re two servers to execute the job, then each server is assigned 2 slices, undertaking 50% of the workload, as follows.</p>
<p><img src="https://shardingsphere.apache.org/elasticjob/current/img/elastic/sharding.png" alt="Sharding Job"></p>
<h3 id="sharding-item">Sharding Item</h3>
<p>ElasticJob doesn&rsquo;t directly provide the abilities to process the data, instead, it assigns the sharding items to the job servers, where the developers should process the sharding items and their business logic themselves.
The sharding item is numeric type, in the range of [0, size(slices) - 1].</p>
<h3 id="customized-sharding-options">Customized sharding options</h3>
<p>Customized sharding options can build a relationship with the sharding items, converting the sharding items&rsquo; numbers to more readable business codes.</p>
<p>For example, to horizontally split the databases according to the regions, database A stores data from Beijing, database B stores data from Shanghai and database C stores data from Guangzhou.
If we configure only by the sharding items&rsquo; numbers, the developers need the knowledge that 0 represents Beijing, 1 represents Shanghai and 2 represents Guangzhou.
Customized sharding options make the codes more readable, if we have customized options <code>0=Beijing,1=Shanghai,2=Guangzhou</code>, we can simply use <code>Beijing</code>, <code>Shanghai</code>, <code>Guangzhou</code> in the codes.</p>
<h2 id="maximize-the-usage-of-resources">Maximize the usage of resources</h2>
<p>ElasticJob provides a flexible way to maximize the throughput of the jobs.
When new job server joins, ElasticJob will be aware of it from the registry, and will re-shard in the next scheduling process, the new server will undertake some of the job slices, as follows.</p>
<p><img src="https://shardingsphere.apache.org/elasticjob/current/img/elastic/sacle-out.png" alt="scale out"></p>
<p>Configuring a larger number of sharding items than the number of servers, or better, a multiplier of the number of servers, makes it more reasonably for the job to leverage the resources, and assign the sharding items dynamically.</p>
<p>For example, we have 10 sharding items and there&rsquo;re 3 servers, the number of sharding items are server A = 0,1,2; server B = 3,4,5; server C = 6,7,8,9.
If the server C is down, then server A = 0,1,2,3,4 and B = 5,6,7,8,9, maximizing the throughput without losing any sharding item.</p>
<h2 id="high-availability">High Availability</h2>
<p>When a server is down when executing a sharding item, the registry is also aware of that, and the sharding item will be transferred to another living server, thus achieve the goal of high availability.
The unfinished job from a crashed server will be transferred and executed continuously, as follows.</p>
<p><img src="https://shardingsphere.apache.org/elasticjob/current/img/elastic/ha.png" alt="HA"></p>
<p>Setting the total number of sharding items to 1 and more than 1 servers to execute the jobs makes the job run in the mode of <code>1</code> master and <code>n</code> slaves.
Once the servers that are executing jobs are down, the idle servers will take over the jobs and execute them in the next scheduling, or better, if the failover option is enabled, the idle servers can take over the failed jobs immediately.</p>
<footer class=" footline" >
</footer>
</div>
</div>
</div>
<div id="navigation">
<a class="nav nav-prev" href="https://shardingsphere.apache.org/elasticjob/current/en/features/schedule-model/" title="Schedule Model"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="https://shardingsphere.apache.org/elasticjob/current/en/features/resource/" title="Resource Assign" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
</div>
</section>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="https://shardingsphere.apache.org/elasticjob/current/js/clipboard.min.js?1603091281"></script>
<script src="https://shardingsphere.apache.org/elasticjob/current/js/perfect-scrollbar.min.js?1603091281"></script>
<script src="https://shardingsphere.apache.org/elasticjob/current/js/perfect-scrollbar.jquery.min.js?1603091281"></script>
<script src="https://shardingsphere.apache.org/elasticjob/current/js/jquery.sticky.js?1603091281"></script>
<script src="https://shardingsphere.apache.org/elasticjob/current/js/featherlight.min.js?1603091281"></script>
<script src="https://shardingsphere.apache.org/elasticjob/current/js/html5shiv-printshiv.min.js?1603091281"></script>
<script src="https://shardingsphere.apache.org/elasticjob/current/js/highlight.pack.js?1603091281"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://shardingsphere.apache.org/elasticjob/current/js/modernizr.custom.71422.js?1603091281"></script>
<script src="https://shardingsphere.apache.org/elasticjob/current/js/learn.js?1603091281"></script>
<script src="https://shardingsphere.apache.org/elasticjob/current/js/hugo-learn.js?1603091281"></script>
</body>
</html>