blob: aee3a7f5d1042f1d3bb6350baa0b21d92fc39ad9 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>ElasticJob</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/</link>
<description>Recent content on ElasticJob</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<atom:link href="https://shardingsphere.apache.org/elasticjob/current/en/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Deploy Guide</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/operation/deploy-guide/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/operation/deploy-guide/</guid>
<description>Scheduler deployment steps Start ElasticJob-Cloud-Scheduler and Mesos, and specify ZooKeeper as the registry. Start Mesos Master and Mesos Agent. Unzip elasticjob-cloud-scheduler-${version}.tar.gz. Run bin\start.sh to start ElasticJob-Cloud-Scheduler. Job deployment steps Ensure that ZooKeeper, Mesos Master/Agent and ElasticJob-Cloud-Scheduler have been started correctly. Place the tar.gz file of the packaging job in a network accessible location, such as ftp or http. The main method in the packaged tar.gz file needs to call the JobBootstrap.</description>
</item>
<item>
<title>Deploy Guide</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/operation/deploy-guide/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/operation/deploy-guide/</guid>
<description>Application deployment Start the ZooKeeper of the ElasticJob-Lite designated registry. Run the jar file containing ElasticJob-Lite and business code. It is not limited to the startup mode of jar or war. When the job server is configured with multiple network cards, the network card address can be specified by setting the system variable elasticjob.preferred.network.interface. ElasticJob obtains the first non-loopback available IPV4 address in the network card list by default. Operation and maintenance platform and RESTFul API deployment (optional) Unzip elasticjob-lite-console-${version}.</description>
</item>
<item>
<title>Dev Guide</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/usage/dev-guide/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/usage/dev-guide/</guid>
<description>Job development ElasticJob-Lite and ElasticJob-Cloud provide a unified job interface, developers only need to develop business jobs once, and then they can deploy to different environments according to different configurations.
For details of job development, please refer to ElasticJob-Lite user manual.
Job start You need to define the main method and call it JobBootstrap.execute(), for example:
public class MyJobDemo { public static void main(final String[] args) { JobBootstrap.execute(new MyJob()); } } </description>
</item>
<item>
<title>ElasticJob-Lite</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/quick-start/elasticjob-lite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/quick-start/elasticjob-lite/</guid>
<description>Import Maven Dependency &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere.elasticjob&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;elasticjob-lite-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${latest.release.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Develop Job public class MyJob implements SimpleJob { @Override public void execute(ShardingContext context) { switch (context.getShardingItem()) { case 0: // do something by sharding item 0 break; case 1: // do something by sharding item 1 break; case 2: // do something by sharding item 2 break; // case n: ... } } } Configure Job JobConfiguration jobConfig = JobConfiguration.</description>
</item>
<item>
<title>Java API</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/java-api/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/java-api/</guid>
<description>Registry Center Configuration The component which is used to register and coordinate the distributed behavior of jobs, currently only supports ZooKeeper.
Class name: org.apache.shardingsphere.elasticjob.reg.zookeeper.ZookeeperConfiguration
Configuration:
Name Constructor injection serverLists Yes namespace Yes baseSleepTimeMilliseconds No maxSleepTimeMilliseconds No maxRetries No sessionTimeoutMilliseconds No connectionTimeoutMilliseconds No digest No Job Configuration Class name: org.</description>
</item>
<item>
<title>Job Development</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-api/job-interface/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-api/job-interface/</guid>
<description>ElasticJob-Lite and ElasticJob-Cloud provide a unified job interface, developers need to develop business jobs only once, and then they can be deployed to different environments according to different configurations and deployments.
ElasticJob has two kinds of job types: Class-based job and Type-based job. Class-based jobs require developers to weave business logic by implementing interfaces; Type-based jobs don&amp;rsquo;t need coding, just need to provide the corresponding configuration.
The method parameter shardingContext of the class-based job interface contains job configuration, slice and runtime information.</description>
</item>
<item>
<title>Job Sharding Strategy</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/sharding/</guid>
<description>Job Sharding Strategy, used to sharding job to distributed tasks.
SPI Name Description JobShardingStrategy Job sharding strategy Implementation Class Description AverageAllocationJobShardingStrategy Sharding or average by sharding item OdevitySortByNameJobShardingStrategy Sharding for hash with job name to determine IP asc or desc RotateServerByNameJobShardingStrategy Sharding for round robin by name job </description>
</item>
<item>
<title>Job Sharding Strategy</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/built-in-strategy/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/built-in-strategy/sharding/</guid>
<description>Average Allocation Strategy Type: AVG_ALLOCATION
Sharding or average by sharding item.
If the job server number and sharding count cannot be divided, the redundant sharding item that cannot be divided will be added to the server with small sequence number in turn.
For example:
If there are 3 job servers and the total sharding count is 9, each job server is divided into: 1=[0,1,2], 2=[3,4,5], 3=[6,7,8]; If there are 3 job servers and the total sharding count is 8, each job server is divided into: 1=[0,1,6], 2=[2,3,7], 3=[4,5]; If there are 3 job servers and the total sharding count is 10, each job server is divided into: 1=[0,1,2,9], 2=[3,4,5], 3=[6,7,8].</description>
</item>
<item>
<title>Listener Development</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-listener/listener-interface/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-listener/listener-interface/</guid>
<description>Common Listener If the job processes the files of the job server and deletes the files after the processing is completed, consider using each node to perform the cleaning task. This type of task is simple to implement, and there is no need to consider whether the global distributed task is completed. You should try to use this type of listener.
public class MyJobListener implements ElasticJobListener { @Override public void beforeJobExecuted(ShardingContexts shardingContexts) { // do something .</description>
</item>
<item>
<title>Schedule Model</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/features/schedule-model/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/features/schedule-model/</guid>
<description>Unlike most job platforms, ElasticJob&amp;rsquo;s scheduling model is divided into in-process scheduling ElasticJob-Lite that supports thread-level scheduling, and ElasticJob-Cloud for process-level scheduling.
In-process scheduling ElasticJob-Lite is a thread-level scheduling framework for in-process. Through it, Job can be transparently combined with business application systems. It can be easily used in conjunction with Java frameworks such as Spring and Dubbo. Spring DI (Dependency Injection) Beans can be freely used in Job, such as data source connection pool and Dubbo remote service, etc.</description>
</item>
<item>
<title>Use Java API</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/event-trace/java-api/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/event-trace/java-api/</guid>
<description>ElasticJob-Lite currently provides TracingConfiguration based on database in the configuration. Developers can also extend it through SPI.
// init DataSource DataSource dataSource = ...; // define tracing configuration based on relation database TracingConfiguration tracingConfig = new TracingConfiguration&amp;lt;&amp;gt;(&amp;#34;RDB&amp;#34;, dataSource); // init registry center CoordinatorRegistryCenter regCenter = ...; // init job configuration JobConfiguration jobConfig = ...; new ScheduleJobBootstrap(regCenter, jobConfig, tracingConfig).schedule(); </description>
</item>
<item>
<title>Dump Job Information</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/operation/dump/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/operation/dump/</guid>
<description>Using ElasticJob may meet some distributed problem which is not easy to observe.
Because of developer cannot debug in production environment, ElasticJob provide dump command to export job runtime information for debugging.
For security reason, the information dumped had already mask sensitive information, it instead of real IP address to ip1, ip2 &amp;hellip;
Open Listener Port Using Java API please refer to Java API usage for more details. Using Spring please refer to Spring usage for more details.</description>
</item>
<item>
<title>Elastic Schedule</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/features/elastic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/features/elastic/</guid>
<description>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&amp;rsquo;s also the origin of the project name &amp;ldquo;ElasticJob&amp;rdquo;.
Sharding 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.</description>
</item>
<item>
<title>ElasticJob-Cloud</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/quick-start/elasticjob-cloud/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/quick-start/elasticjob-cloud/</guid>
<description>Import Maven Dependency &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere.elasticjob&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;elasticjob-cloud-executor&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${latest.release.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Develop Job Details public class MyJob implements SimpleJob { @Override public void execute(ShardingContext context) { switch (context.getShardingItem()) { case 0: // do something by sharding item 0 break; case 1: // do something by sharding item 1 break; case 2: // do something by sharding item 2 break; // case n: ... } } } Develop Job Bootstrap Define main method and call JobBootstrap.</description>
</item>
<item>
<title>High Available</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/operation/high-availability/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/operation/high-availability/</guid>
<description>Introduction The high availability of the scheduler is achieved by running several ElasticJob-Cloud-Scheduler instances pointing to the same ZooKeeper cluster. ZooKeeper is used to perform leader election when the current primary ElasticJob-Cloud-Scheduler instance fails. At least two scheduler instances are used to form a cluster. Only one scheduler instance in the cluster provides services, and the other instances are in the standby state. When the instance fails, the cluster will elect one of the remaining instances to continue providing services.</description>
</item>
<item>
<title>Local Executor</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/usage/local-executor/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/usage/local-executor/</guid>
<description>When developing ElasticJob-Cloud jobs, developers can leave the Mesos environment to run and debug jobs locally. The local operating mode can be used to fully debug business functions and unit tests, and then deploy to the Mesos cluster after completion.
There is no need to install the Mesos environment to run jobs locally.
// Create job configuration JobConfiguration jobConfig = JobConfiguration.newBuilder(&amp;#34;myJob&amp;#34;, 3).cron(&amp;#34;0/5 * * * * ?&amp;#34;).build(); // Configure the fragmentation item of the currently running job int shardingItem = 0; // Create a local executor new LocalTaskExecutor(new MyJob(), jobConfig, shardingItem).</description>
</item>
<item>
<title>Spring Boot Starter</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/spring-boot-starter/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/spring-boot-starter/</guid>
<description>Registry Center Configuration Prefix: elasticjob.reg-center
Configuration:
Property name Required server-lists Yes namespace Yes base-sleep-time-milliseconds No max-sleep-time-milliseconds No max-retries No session-timeout-milliseconds No connection-timeout-milliseconds No digest No Reference:
YAML
elasticjob: regCenter: serverLists: localhost:6181 namespace: elasticjob-lite-springboot Properties
elasticjob.reg-center.namespace=elasticjob-lite-springboot elasticjob.reg-center.server-lists=localhost:6181 Job Configuration Prefix: elasticjob.jobs
Configuration:
Property name Required elasticJobClass / elasticJobType Yes cron No jobBootstrapBeanName No sharding-total-count Yes sharding-item-parameters No job-parameter No monitor-execution No failover No misfire No max-time-diff-seconds No reconcile-interval-minutes No job-sharding-strategy-type No job-executor-service-handler-type No job-error-handler-type No job-listener-types No description No props No disabled No overwrite No &amp;ldquo;elasticJobClass&amp;rdquo; and &amp;ldquo;elasticJobType&amp;rdquo; are mutually exclusive.</description>
</item>
<item>
<title>Spring Namespace</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/spring-namespace/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/spring-namespace/</guid>
<description>To use the Spring namespace, user need to add the dependency of the elasticjob-lite-spring module in the pom.xml file.
&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere.elasticjob&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;elasticjob-lite-spring-namespace&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${latest.release.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Spring namespace: http://shardingsphere.apache.org/schema/elasticjob/elasticjob.xsd
Registry Center Configuration &amp;lt;elasticjob:zookeeper /&amp;gt;
Configuration:
Name Required id Yes server-lists Yes namespace Yes base-sleep-time-milliseconds No max-sleep-time-milliseconds No max-retries No session-timeout-milliseconds No connection-timeout-milliseconds No digest No Job Configuration &amp;lt;elasticjob:job /&amp;gt;</description>
</item>
<item>
<title>Thread Pool Strategy</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/thread-pool/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/thread-pool/</guid>
<description>Thread pool strategy, used to create thread pool for job execution.
SPI Name Description JobExecutorServiceHandler Job executor service handler Implementation Class Description CPUUsageJobExecutorServiceHandler Use CPU available processors * 2 to create thread pool SingleThreadJobExecutorServiceHandler Use single thread to execute job </description>
</item>
<item>
<title>Thread Pool Strategy</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/built-in-strategy/thread-pool/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/built-in-strategy/thread-pool/</guid>
<description>CPU Resource Strategy Type: CPU
Use CPU available processors * 2 to create thread pool.
Single Thread Strategy Type: SINGLE_THREAD
Use single thread to execute job.</description>
</item>
<item>
<title>Use Java API</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-api/java-api/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-api/java-api/</guid>
<description>Job configuration ElasticJob-Lite uses the builder mode to create job configuration objects. The code example is as follows:
JobConfiguration jobConfig = JobConfiguration.newBuilder(&amp;#34;myJob&amp;#34;, 3).cron(&amp;#34;0/5 * * * * ?&amp;#34;).shardingItemParameters(&amp;#34;0=Beijing,1=Shanghai,2=Guangzhou&amp;#34;).build(); Job start ElasticJob-Lite scheduler is divided into two types: timed scheduling and one-time scheduling. Each scheduler needs three parameters: registry configuration, job object (or job type), and job configuration when it starts.
Timed scheduling public class JobDemo { public static void main(String[] args) { // Class-based Scheduling Jobs new ScheduleJobBootstrap(createRegistryCenter(), new MyJob(), createJobConfiguration()).</description>
</item>
<item>
<title>Use Java API</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-listener/java-api/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-listener/java-api/</guid>
<description>Common Listener public class JobMain { public static void main(String[] args) { new ScheduleJobBootstrap(createRegistryCenter(), createJobConfiguration()).schedule(); } private static CoordinatorRegistryCenter createRegistryCenter() { CoordinatorRegistryCenter regCenter = new ZookeeperRegistryCenter(new ZookeeperConfiguration(&amp;#34;zk_host:2181&amp;#34;, &amp;#34;elastic-job-demo&amp;#34;)); regCenter.init(); return regCenter; } private static JobConfiguration createJobConfiguration() { JobConfiguration jobConfiguration = JobConfiguration.newBuilder(&amp;#34;test&amp;#34;, 2) .jobListenerTypes(&amp;#34;simpleListener&amp;#34;, &amp;#34;distributeListener&amp;#34;).build(); } } Distributed Listener public class JobMain { public static void main(String[] args) { new ScheduleJobBootstrap(createRegistryCenter(), createJobConfiguration()).schedule(); } private static CoordinatorRegistryCenter createRegistryCenter() { CoordinatorRegistryCenter regCenter = new ZookeeperRegistryCenter(new ZookeeperConfiguration(&amp;#34;zk_host:2181&amp;#34;, &amp;#34;elastic-job-demo&amp;#34;)); regCenter.</description>
</item>
<item>
<title>Use Spring Boot Starter</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/event-trace/spring-boot-starter/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/event-trace/spring-boot-starter/</guid>
<description>ElasticJob-Lite Spring Boot Starter has already integrated TracingConfiguration configuration. What developers need to do is register a bean of DataSource into the Spring IoC Container and set the type of data source. Then the Starter will create an instance of TracingConfiguration and register it into the container.
Import Maven Dependency Import spring-boot-starter-jdbc for DataSource register or create a bean of DataSource manually.
&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter-jdbc&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${springboot.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Configuration spring: datasource: url: jdbc:h2:mem:job_event_storage driver-class-name: org.</description>
</item>
<item>
<title>Console</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/operation/web-console/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-cloud/operation/web-console/</guid>
<description>The operation and maintenance platform is embedded in the jar package of elasticjob-cloud-scheduler, and there is no need to start an additional WEB server. The startup port can be adjusted by modifying the http_port parameter in the configuration file. The default port is 8899 and the access address is http://{your_scheduler_ip}:8899.
Log in Two types of accounts are provided, administrator and guest. The administrator has all operation permissions, and the visitor only has viewing permissions.</description>
</item>
<item>
<title>Error Handler</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/error-handler/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/error-handler/</guid>
<description>Error handler strategy, used to handle error when exception occur during job execution.
SPI Name Description JobErrorHandler Job error handler Implementation Class Description LogJobErrorHandler Log error and do not interrupt job ThrowJobErrorHandler Throw system exception and interrupt job IgnoreJobErrorHandler Ignore exception and do not interrupt job EmailJobErrorHandler Send email message notification and do not interrupt job WechatJobErrorHandler Send wechat message notification and do not interrupt job DingtalkJobErrorHandler Send dingtalk message notification and do not interrupt job </description>
</item>
<item>
<title>Error Handler Strategy</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/built-in-strategy/error-handler/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/built-in-strategy/error-handler/</guid>
<description>Log Strategy Type: LOG
Log error and do not interrupt job.
Throw Strategy Type: THROW
Throw system exception and interrupt job.
Ignore Strategy Type: IGNORE
Ignore exception and do not interrupt job.</description>
</item>
<item>
<title>Execution Monitor</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/operation/execution-monitor/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/operation/execution-monitor/</guid>
<description>By monitoring several key nodes in the zookeeper registry of ElasticJob-Lite, the job running status monitoring function can be completed.
Monitoring job server alive Listen for the existence of node job_name\instances\job_instance_id. This node is a temporary node. If the job server is offline, the node will be deleted.</description>
</item>
<item>
<title>Resource Assign</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/features/resource/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/features/resource/</guid>
<description>The resource allocation function is unique to ElasticJob-Cloud.
Execution mode ElasticJob-Cloud is divided into two execution modes: transient and daemon execution.
Transient execution The resources are released immediately after the execution of each job to ensure that the existing resources are used for staggered execution. Resource allocation and container startup both take up a certain amount of time, and resources may not be sufficient during job execution, so job execution may be delayed.</description>
</item>
<item>
<title>Use Spring Boot Starter</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-api/spring-boot-starter/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-api/spring-boot-starter/</guid>
<description>ElasticJob-Lite provides a customized Spring Boot Starter, which can be used in conjunction with Spring Boot. Developers are free from configuring CoordinatorRegistryCenter, JobBootstrap by using ElasticJob Spring Boot Starter. What developers need to solve distributed scheduling problem are job implementations with a little configuration.
Job configuration Implements ElasticJob Job implementation is similar to other usage of ElasticJob. The difference is that jobs will be registered into the Spring IoC container.</description>
</item>
<item>
<title>Use Spring Namespace</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/event-trace/spring-namespace/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/event-trace/spring-namespace/</guid>
<description>Import Maven Dependency &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere.elasticjob&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;elasticjob-lite-spring-namespace&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${elasticjob.latest.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Configuration &amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt; &amp;lt;beans xmlns=&amp;#34;http://www.springframework.org/schema/beans&amp;#34; xmlns:xsi=&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34; xmlns:elasticjob=&amp;#34;http://shardingsphere.apache.org/schema/elasticjob&amp;#34; xsi:schemaLocation=&amp;#34;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://shardingsphere.apache.org/schema/elasticjob http://shardingsphere.apache.org/schema/elasticjob/elasticjob.xsd &amp;#34;&amp;gt; &amp;lt;!-- Configure registry center for job --&amp;gt; &amp;lt;elasticjob:zookeeper id=&amp;#34;regCenter&amp;#34; server-lists=&amp;#34;yourhost:2181&amp;#34; namespace=&amp;#34;my-job&amp;#34; base-sleep-time-milliseconds=&amp;#34;1000&amp;#34; max-sleep-time-milliseconds=&amp;#34;3000&amp;#34; max-retries=&amp;#34;3&amp;#34; /&amp;gt; &amp;lt;!-- Configure job java bean --&amp;gt; &amp;lt;bean id=&amp;#34;myJob&amp;#34; class=&amp;#34;xxx.MyJob&amp;#34; /&amp;gt; &amp;lt;!-- Configure DataSource --&amp;gt; &amp;lt;bean id=&amp;#34;tracingDataSource&amp;#34; class=&amp;#34;org.apache.commons.dbcp.BasicDataSource&amp;#34; destroy-method=&amp;#34;close&amp;#34;&amp;gt; &amp;lt;property name=&amp;#34;driverClassName&amp;#34; value=&amp;#34;${driver.class.name}&amp;#34; /&amp;gt; &amp;lt;property name=&amp;#34;url&amp;#34; value=&amp;#34;${url}&amp;#34; /&amp;gt; &amp;lt;property name=&amp;#34;username&amp;#34; value=&amp;#34;${username}&amp;#34; /&amp;gt; &amp;lt;property name=&amp;#34;password&amp;#34; value=&amp;#34;${password}&amp;#34; /&amp;gt; &amp;lt;/bean&amp;gt; &amp;lt;!</description>
</item>
<item>
<title>Use Spring Namespace</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-listener/spring-namespace/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-listener/spring-namespace/</guid>
<description>Listener configuration &amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt; &amp;lt;beans xmlns=&amp;#34;http://www.springframework.org/schema/beans&amp;#34; xmlns:xsi=&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34; xmlns:elasticjob=&amp;#34;http://shardingsphere.apache.org/schema/elasticjob&amp;#34; xsi:schemaLocation=&amp;#34;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://shardingsphere.apache.org/schema/elasticjob http://shardingsphere.apache.org/schema/elasticjob/elasticjob.xsd &amp;#34;&amp;gt; &amp;lt;!-- Configuration job registration center --&amp;gt; &amp;lt;elasticjob:zookeeper id=&amp;#34;regCenter&amp;#34; server-lists=&amp;#34;yourhost:2181&amp;#34; namespace=&amp;#34;my-job&amp;#34; base-sleep-time-milliseconds=&amp;#34;1000&amp;#34; max-sleep-time-milliseconds=&amp;#34;3000&amp;#34; max-retries=&amp;#34;3&amp;#34; /&amp;gt; &amp;lt;!-- Configuration Job Bean --&amp;gt; &amp;lt;bean id=&amp;#34;myJob&amp;#34; class=&amp;#34;xxx.MyJob&amp;#34; /&amp;gt; &amp;lt;elasticjob:job id=&amp;#34;${myJob.id}&amp;#34; job-ref=&amp;#34;myJob&amp;#34; registry-center-ref=&amp;#34;regCenter&amp;#34; sharding-total-count=&amp;#34;3&amp;#34; cron=&amp;#34;0/1 * * * * ?&amp;#34; job-listener-types=&amp;#34;simpleJobListener,distributeOnceJobListener&amp;#34;&amp;gt; &amp;lt;/elasticjob:job&amp;gt; &amp;lt;/beans&amp;gt; Job start The xml that configures the Spring namespace is started through Spring, and the job will be automatically loaded.</description>
</item>
<item>
<title>Console</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/operation/web-console/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/operation/web-console/</guid>
<description>Unzip elasticjob-lite-console-${version}.tar.gz and execute bin\start.sh. Open the browser and visit http://localhost:8899/ to access the console. 8899 is the default port number. You can customize the port number by entering -p through the startup script.
Log in The console provides two types of accounts: administrator and guest. The administrator has all operation rights, and the visitors only have the viewing rights. The default administrator user name and password are root/root,and the guest user name and password are guest/guest,You can modify the administrator and guest user names and passwords through conf\auth.</description>
</item>
<item>
<title>Failover</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/features/failover/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/features/failover/</guid>
<description>ElasticJob will not re-shard during this execution, but wait for the next scheduling before starting the re-sharding process. When the server is down during job execution, failover allows the unfinished task to be compensated and executed on another job node.
Enable failover and monitorExecution together to take effect.
Concept Failover is a temporary compensation execution mechanism for the currently executed job. When the next job is run, the current job allocation will be adjusted through resharding.</description>
</item>
<item>
<title>Job Class Name Provider</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/job-class-provider/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/job-class-provider/</guid>
<description>Job class name provider, used to provide job class name in different contain environments.
SPI Name Description JobClassNameProvider Job class name provider Implementation Class Description DefaultJobClassNameProvider Job class name provider in standard environment SpringProxyJobClassNameProvider Job class name provider in Spring container environment </description>
</item>
<item>
<title>Table Structure</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/event-trace/table-structure/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/event-trace/table-structure/</guid>
<description>The database which is the value of the event tracing property event_trace_rdb_url will automatically creates two tables JOB_EXECUTION_LOG and JOB_STATUS_TRACE_LOG and several indexes.
JOB_EXECUTION_LOG Columns Column name Column type Required Describe id VARCHAR(40) Yes Primary key job_name VARCHAR(100) Yes Job name task_id VARCHAR(1000) Yes Task name, create new tasks every time the job runs. hostname VARCHAR(255) Yes Hostname ip VARCHAR(50) Yes IP sharding_item INT Yes Sharding item execution_source VARCHAR(20) Yes Source of job execution.</description>
</item>
<item>
<title>Use Spring Namespace</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-api/spring-namespace/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/usage/job-api/spring-namespace/</guid>
<description>ElasticJob-Lite provides a custom Spring namespace, which can be used with the Spring. Through the way of DI (Dependency Injection), developers can easily use data sources and other objects that managed by the Spring container in their jobs, and use placeholders to get values ​​from property files.
Job Configuration &amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt; &amp;lt;beans xmlns=&amp;#34;http://www.springframework.org/schema/beans&amp;#34; xmlns:xsi=&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34; xmlns:elasticjob=&amp;#34;http://shardingsphere.apache.org/schema/elasticjob&amp;#34; xsi:schemaLocation=&amp;#34;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://shardingsphere.apache.org/schema/elasticjob http://shardingsphere.apache.org/schema/elasticjob/elasticjob.xsd &amp;#34;&amp;gt; &amp;lt;!-- Configure registry center for job --&amp;gt; &amp;lt;elasticjob:zookeeper id=&amp;#34;regCenter&amp;#34; server-lists=&amp;#34;yourhost:2181&amp;#34; namespace=&amp;#34;my-job&amp;#34; base-sleep-time-milliseconds=&amp;#34;1000&amp;#34; max-sleep-time-milliseconds=&amp;#34;3000&amp;#34; max-retries=&amp;#34;3&amp;#34; /&amp;gt; &amp;lt;!</description>
</item>
<item>
<title>Job Properties</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/props/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/user-manual/elasticjob-lite/configuration/props/</guid>
<description>Introduction ElasticJob provide customized configurations for different types of jobs through the way of attribute configuration.
Job Type Simple Job Interface name: org.apache.shardingsphere.elasticjob.simple.job.SimpleJob
Configuration: no
Dataflow Job Interface name: org.apache.shardingsphere.elasticjob.dataflow.job.DataflowJob
Configuration:
Name Data Type Description Default Value streaming.process boolean Enable or disable Streaming false Script Job Type: SCRIPT
Configuration:
Name Data Type Description Default Value script.</description>
</item>
<item>
<title>Misfire</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/features/misfire/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/features/misfire/</guid>
<description>ElasticJob does not allow jobs to be executed at the same time. When the execution time of a job exceeds its running interval, re-executing the missed task can ensure that the job continues to execute the overdue job after completing the last task.
Concept The misfire function enables the overdue tasks to be executed immediately after the completion of the previous tasks. For example, if the job is executed at an hourly interval, each execution will take 30 minutes.</description>
</item>
<item>
<title>Roadmap</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/roadmap/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/dev-manual/roadmap/</guid>
<description>Kernel Unified Job Config API Core Config Type Config Root Config Job Types Simple Dataflow Script Http (Since 3.0.0-beta) Event Trace Event Publisher Database Event Listener Other Event Listener Unified Schedule API Unified Resource API ElasticJob-Lite Distributed Features High Availability Elastic scale in/out Failover Misfire Idempotency Reconcile Registry Center ZooKeeper Other Registry Center Supported Lifecycle Management Add/Remove Pause/Resume Disable/Enable Shutdown Restful API Web Console Job Dependency Listener DAG Spring Integrate Namespace Bean Injection Spring Boot Starter (Since 3.</description>
</item>
<item>
<title>Job Open Ecosystem</title>
<link>https://shardingsphere.apache.org/elasticjob/current/en/features/job-type/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/elasticjob/current/en/features/job-type/</guid>
<description>Flexible customized jobs is the most important design change in ElasticJob 3.x . The new version is based on the design concept of the Apache ShardingSphere pluggable architecture, and the new Job API was created. It is intended to enable developers to expand the types of jobs in a more convenient and isolated way, and create an ecosystem of ElasticJob jobs.
While ElasticJob provides functions such as elastic scaling and distributed management of jobs, it does not limit the types of jobs.</description>
</item>
</channel>
</rss>