:twisted_rightwards_arrows: getOriginalTaskId只需要获取一条记录,不用获取所有的查询结果(当结果集很大的时候,会严重影响数据库性能)。 (#7)

与elastic-job-lite同步
1 file changed
tree: f7f5ac596218c390df5e4a509d9a7995859e0e57
  1. elastic-job-cloud-common/
  2. elastic-job-cloud-executor/
  3. elastic-job-cloud-scheduler/
  4. src/
  5. .gitignore
  6. .travis.yml
  7. LICENSE
  8. pom.xml
  9. README.md
  10. README_ZH.md
  11. RELEASE-NOTES.md
  12. ROADMAP.md
README.md

Elastic-Job - distributed scheduled job solution

Build Status Maven Status Coverage Status GitHub release License

Homepage

中文主页

Elastic-Job-Cloud FrameworkGitHub release

Overview

Elastic-Job is a distributed scheduled job solution. Elastic-Job is composited from 2 independent sub projects: Elastic-Job-Lite and Elastic-Job-Cloud.

Elastic-Job-Cloud is a Mesos framework which use Mesos + Docker(todo) to manage and isolate resources and processes.

Elastic-Job-Lite and Elastic-Job-Cloud provide unified API. Developers only need code one time, then decide to deploy Lite or Cloud as you want.

Features

  • Distributed schedule job coordinate
  • Elastic scale in and scale out supported
  • Failover
  • Misfired jobs refire
  • Sharding consistently, same sharding item for a job only one running instance
  • Self diagnose and recover when distribute environment unstable
  • Parallel scheduling supported
  • Job lifecycle operation
  • Lavish job types
  • Spring integrated and namespace supported
  • Web console
  • Application distributed automatically
  • Fenzo based resources allocated elastically
  • Docker based processes isolation support (TBD)

Architecture

Elastic-Job-Cloud

Elastic-Job-Cloud Architecture

Release Notes

Roadmap

Quick Start

Add maven dependency

<!-- import elastic-job cloud executor -->
<dependency>
    <groupId>io.elasticjob</groupId>
    <artifactId>elastic-job-cloud-executor</artifactId>
    <version>${lasted.release.version}</version>
</dependency>

Job development

Same with Elastic-Job-Lite

Job App configuration

curl -l -H "Content-type: application/json" -X POST -d '{"appName":"yourAppName","appURL":"http://app_host:8080/foo-job.tar.gz","cpuCount":0.1,"memoryMB":64.0,"bootstrapScript":"bin/start.sh","appCacheEnable":true}' http://elastic_job_cloud_host:8899/api/app

Job configuration

curl -l -H "Content-type: application/json" -X POST -d '{"jobName":"foo_job","appName":"yourAppName","jobClass":"yourJobClass","jobType":"SIMPLE","jobExecutionType":"TRANSIENT","cron":"0/5 * * * * ?","shardingTotalCount":5,"cpuCount":0.1,"memoryMB":64.0,"failover":true,"misfire":true,"bootstrapScript":"bin/start.sh"}' http://elastic_job_cloud_host:8899/api/job/register