swllhf 8 年前
父节点
当前提交
9ff0946900
共有 1 个文件被更改,包括 176 次插入176 次删除
  1. 176 176
      doc/XXL-JOB-English-Documentation.md

+ 176 - 176
doc/XXL-JOB-English-Documentation.md 查看文件

@@ -414,10 +414,10 @@ If you want to create a new executor,please click "+新增执行器" button:
414 414
     AppName: the unique identity of the executor cluster,executor will registe automatically and periodically by appName so that it can be scheduled.
415 415
     名称: the name of ther executor,it is used to describe the executor.
416 416
     排序: the order of executor,it will be used in the place where need to select executor.
417
-    注册方式which way the schedule center used to acquire executor address through;
418
-        自动注册executor will register automatically,through this schedule center can discover executor dynamically.
419
-        手动录入fill in executor address manually and it will be used by schedule center, multiple address separated by commas. 
420
-    机器地址only effective when "注册方式" is "手动录入",support fill in executor address manually.
417
+    注册方式:which way the schedule center used to acquire executor address through;
418
+        自动注册:executor will register automatically,through this schedule center can discover executor dynamically.
419
+        手动录入:fill in executor address manually and it will be used by schedule center, multiple address separated by commas. 
420
+    机器地址:only effective when "注册方式" is "手动录入",support fill in executor address manually.
421 421
 
422 422
 #### 4.1 create new task
423 423
 Go to task management list page,click “新增任务” button on the upper right corner,on the pop-up window“新增任务”page configure task property and save.learn more info please go and see "3,task details".
@@ -448,18 +448,18 @@ You can view task’s history schedule log by click “日志” button,on the h
448 448
 
449 449
 ![输入图片说明](https://static.oschina.net/uploads/img/201704/27232850_inc8.png "在这里输入图片标题")
450 450
 
451
-    调度时间schedule center trigger time when schedule and send execution signal to executor;
452
-    调度结果schedule center trigger task’s result, 200 represent success,500 or other number stands for fail;
453
-    调度备注schedule center trigger task’s remark info;
454
-    执行器地址the machine address where the task was executed;
455
-    运行模式run mode of triggered task,go and see  "3,Task Details" for more info;
456
-    任务参数the input params of the executed task;
457
-    执行时间the callback time task was done in the executor;
458
-    执行结果task’s execute result in the executor, 200 represent success,500 or other number stands for fail;
459
-    执行备注task’s execute remark info in the executor;
460
-    操作
461
-        "执行日志"buttonclick this button you can view task’s execution detail log,go and see chapter 4.7 “view execution log” for more info;
462
-        "终止任务"buttonclick this button you can stop the task’s execution thread on this executor,include bloked task instance which didn’t has started;
451
+    调度时间:schedule center trigger time when schedule and send execution signal to executor;
452
+    调度结果:schedule center trigger task’s result, 200 represent success,500 or other number stands for fail;
453
+    调度备注:schedule center trigger task’s remark info;
454
+    执行器地址:the machine address where the task was executed;
455
+    运行模式:run mode of triggered task,go and see  "3,Task Details" for more info;
456
+    任务参数:the input params of the executed task;
457
+    执行时间:the callback time task was done in the executor;
458
+    执行结果:task’s execute result in the executor, 200 represent success,500 or other number stands for fail;
459
+    执行备注:task’s execute remark info in the executor;
460
+    操作:
461
+        "执行日志"button:click this button you can view task’s execution detail log,go and see chapter 4.7 “view execution log” for more info;
462
+        "终止任务"button:click this button you can stop the task’s execution thread on this executor,include bloked task instance which didn’t has started;
463 463
 
464 464
 #### 4.7 view execution log
465 465
 Click the “执行日志” button on the right side of the record,you can go to the execution log page,you can view the full execution log of the logic business code, shown as below:
@@ -515,11 +515,11 @@ XXL-JOB custom Quartz table structure prefix(XXL_JOB_QRTZ_).
515 515
 ![输入图片说明](https://static.oschina.net/uploads/img/201607/24143957_bNwm.png "在这里输入图片标题")
516 516
 
517 517
 The added tables as shown below:
518
-    - XXL_JOB_QRTZ_TRIGGER_GROUPexecutor basic table, maintain the info about the executor;
519
-    - XXL_JOB_QRTZ_TRIGGER_REGISTRYexecutor register table, maintain addressed of online executors and schedule center machines.
520
-    - XXL_JOB_QRTZ_TRIGGER_INFOschedule extend table,it is used to save XXL-JOB schedule extended info,such as task group,task name,machine address,executor,input params of task and alarm email and so on.
521
-    - XXL_JOB_QRTZ_TRIGGER_LOGschedule log table,it is used to save XXL-JOB task’s histry schedule info,such as :schedule result,execution result,input param of scheduled task,scheduled machine and executor and so on.
522
-    - XXL_JOB_QRTZ_TRIGGER_LOGGLUEschedule log table,it is used to save XXL-JOB task’s histry schedule info,such as :schedule result,execution result,input param of scheduled task,scheduled machine and executor and so on.
518
+    - XXL_JOB_QRTZ_TRIGGER_GROUP:executor basic table, maintain the info about the executor;
519
+    - XXL_JOB_QRTZ_TRIGGER_REGISTRY:executor register table, maintain addressed of online executors and schedule center machines.
520
+    - XXL_JOB_QRTZ_TRIGGER_INFO:schedule extend table,it is used to save XXL-JOB schedule extended info,such as task group,task name,machine address,executor,input params of task and alarm email and so on.
521
+    - XXL_JOB_QRTZ_TRIGGER_LOG:schedule log table,it is used to save XXL-JOB task’s histry schedule info,such as :schedule result,execution result,input param of scheduled task,scheduled machine and executor and so on.
522
+    - XXL_JOB_QRTZ_TRIGGER_LOGGLUE:schedule log table,it is used to save XXL-JOB task’s histry schedule info,such as :schedule result,execution result,input param of scheduled task,scheduled machine and executor and so on.
523 523
 
524 524
 So XXL-JOB database total has 16 tables.
525 525
 
@@ -532,10 +532,10 @@ All tasks was abstracted into separate JobHandler and was managed by executors,
532 532
 So schedule and task can be decoupled from each other, by the way it can improve the overall stability and scalability of the system.
533 533
 
534 534
 ##### 5.3.2 System composition
535
-- **Schedule module(schedule center)**
535
+- **Schedule module(schedule center)**:
536 536
     it is responsible for manage schedule info,send schedule request accord task configuration and it is not include an business code.schedule system decouple with the task, improve the overall stability and scalability of the system, at the same time schedule system performance is no longer limited to task modules. 
537 537
     Support visualization, simple and dynamic management schedule information, include create,update,delete, GLUE develop and task alarm and so on, All of the above operations will take effect in real time,support monitor schedule result and execution log and executor failover.
538
-- **Executor module(Executor)**
538
+- **Executor module(Executor)**:
539 539
     it is responsible for receive schedule request and execute task logic,task module focuses on the execution of the task, Development and maintenance is simpler and more efficient.
540 540
     Receive execution request, end request and log request from schedule center.
541 541
 
@@ -548,7 +548,7 @@ So schedule and task can be decoupled from each other, by the way it can improve
548 548
 Quartz is a good open source project and was often as the first choice for job schedule.Tasks was managed by api in quartz cluster so it can avoid some  disadvantages of single quartz instance,but it also has some disadvantage as shown below:
549 549
     - problem 1:it is not humane while operate task by call apill.
550 550
     - problem 2:it is need to store business QuartzJobBean into database, System Invasion is quite serious.
551
-    - problem 3schedule logic and couple with QuartzJobBean in the same project,it will lead a problem in case that if schedule tasks gradually increased and task logic gradually increased,under this situation the performance of the schedule system will be greatly limited by business.
551
+    - problem 3:schedule logic and couple with QuartzJobBean in the same project,it will lead a problem in case that if schedule tasks gradually increased and task logic gradually increased,under this situation the performance of the schedule system will be greatly limited by business.
552 552
 XXL-JOB solve above problems of quartz.
553 553
 
554 554
 ##### 5.4.2 RemoteHttpJobBean
@@ -596,12 +596,12 @@ The default value of misfire in quartz.properties as shown below, unit in millis
596 596
 org.quartz.jobStore.misfireThreshold: 60000
597 597
 ```
598 598
 
599
-Misfire rule
600
-    withMisfireHandlingInstructionDoNothingdoes not trigger execute immediately and wait for next time schedule. 
601
-    withMisfireHandlingInstructionIgnoreMisfiresexecute immediately at the first frequency of the missed time.
602
-    withMisfireHandlingInstructionFireAndProceedtrigger task execution immediately at the frequency of the current time.
599
+Misfire rule:
600
+    withMisfireHandlingInstructionDoNothing:does not trigger execute immediately and wait for next time schedule. 
601
+    withMisfireHandlingInstructionIgnoreMisfires:execute immediately at the first frequency of the missed time.
602
+    withMisfireHandlingInstructionFireAndProceed:trigger task execution immediately at the frequency of the current time.
603 603
 
604
-XXL-JOB’s default misfire rulewithMisfireHandlingInstructionDoNothing
604
+XXL-JOB’s default misfire rule:withMisfireHandlingInstructionDoNothing
605 605
 
606 606
 ```
607 607
 CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(jobInfo.getJobCron()).withMisfireHandlingInstructionDoNothing();
@@ -611,7 +611,7 @@ CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity(triggerKey).w
611 611
 ##### 5.4.7 log callback service
612 612
 When schedule center of the schedule module was deployed as web service, on one side it play as schedule center, on the other side it also provide api service for executor. 
613 613
 
614
-The source code location of schedule center’s “log callback api service” as shown below
614
+The source code location of schedule center’s “log callback api service” as shown below:
615 615
 ```
616 616
 xxl-job-admin#com.xxl.job.admin.controller.JobApiController.callback
617 617
 ```
@@ -632,26 +632,26 @@ When "路由策略" select "故障转移(FAILOVER)",it will send heart beat chec
632 632
 ##### 5.4.9 schedule log
633 633
 Every time when task was scheduled in the schedule center it will record a task log, the task log include three part as shown below:
634 634
 
635
-- 任务信息include executor address、JobHandler and executor params,accord these parameters it can locate specific machine and task code that the task will be executed.
636
-- 调度信息include schedule time、schedule result and  schedule log  and so on,accord these parameters you can understand some task schedule info of schedule center.
637
-- 执行信息include execute time、execute result and execute log and so on, accord these parameters you can understand the task execution info in the executor.
635
+- 任务信息:include executor address、JobHandler and executor params,accord these parameters it can locate specific machine and task code that the task will be executed.
636
+- 调度信息:include schedule time、schedule result and  schedule log  and so on,accord these parameters you can understand some task schedule info of schedule center.
637
+- 执行信息:include execute time、execute result and execute log and so on, accord these parameters you can understand the task execution info in the executor.
638 638
 
639 639
 ![输入图片说明](https://static.oschina.net/uploads/img/201703/12221436_c8Ru.png "在这里输入图片标题")
640 640
 
641
-Schedule log stands fo single task schedule, attribute description is as follows
642
-- 执行器地址machine addresses on which task will be executed.
643
-- JobHandlerJobHandler name of task under Bean module.
644
-- 任务参数the input parameters of task
645
-- 调度时间the schedule time started by schedule center.
646
-- 调度结果schedule result of schedule center,SUCCESS or FAIL.
647
-- 调度备注remark info of task scheduled by schedule center, such as address heart beat log.
648
-- 执行时间the callback time when the task is done in the executor.
649
-- 执行结果task execute result in the executor,SUCCESS or FAIL.
650
-- 执行备注task execute remark info in the executor,such as exception log.
651
-- 执行日志full execution log of the business code during execution of the task,go and see “4.7 view execution log”.
641
+Schedule log stands fo single task schedule, attribute description is as follows:
642
+- 执行器地址:machine addresses on which task will be executed.
643
+- JobHandler:JobHandler name of task under Bean module.
644
+- 任务参数:the input parameters of task
645
+- 调度时间:the schedule time started by schedule center.
646
+- 调度结果:schedule result of schedule center,SUCCESS or FAIL.
647
+- 调度备注:remark info of task scheduled by schedule center, such as address heart beat log.
648
+- 执行时间:the callback time when the task is done in the executor.
649
+- 执行结果:task execute result in the executor,SUCCESS or FAIL.
650
+- 执行备注:task execute remark info in the executor,such as exception log.
651
+- 执行日志:full execution log of the business code during execution of the task,go and see “4.7 view execution log”.
652 652
 
653 653
 ##### 5.4.10 Task dependency
654
-principleevery task has a task key in XXL-JOB, every task can configure property “child task Key”,it can match task dependency relationship through task key.
654
+principle:every task has a task key in XXL-JOB, every task can configure property “child task Key”,it can match task dependency relationship through task key.
655 655
 
656 656
 When parent task end execute and success, it will match child task dependency accord child task key, it will trigger child task execute once if it matched child task.
657 657
 
@@ -663,25 +663,25 @@ On the task log page ,you can see matched child task and triggered child task’
663 663
 
664 664
 #### 5.5 Task "run mode" analysis
665 665
 ##### 5.5.1 "Bean模式" task
666
-Development stepsgo and see "chapter 3" . 
667
-principle every Bean mode task is a Spring Bean instance and it is maintained in executor project’s Spring container. task class nedd to add “@JobHander(value="name")” annotation, because executor identify task bean instance in spring container through annotation. Task class nedd to implements interface IJobHandler, task logic code in method execute(), the task logic in execute() method will be executed when executor received a schedule request from schedule center.
666
+Development steps:go and see "chapter 3" . 
667
+principle: every Bean mode task is a Spring Bean instance and it is maintained in executor project’s Spring container. task class nedd to add “@JobHander(value="name")” annotation, because executor identify task bean instance in spring container through annotation. Task class nedd to implements interface IJobHandler, task logic code in method execute(), the task logic in execute() method will be executed when executor received a schedule request from schedule center.
668 668
 
669 669
 ##### 5.5.2 "GLUE模式(Java)" task
670
-Development stepsgo and see "chapter 3" .
670
+Development steps:go and see "chapter 3" .
671 671
 Principle : every "GLUE模式(Java)" task code is a class implemets interface IJobHandler, when executor received schedule request from schedule center these code will be loaded by Groovy classloader and instantiate into a Java object and inject spring bean service declared in this code at the same time(please confirm service and class reference in Glue code exist in executor project), then call the object’s execute() method and execute task logic.
672 672
 
673 673
 #### 5.5.3 GLUE模式(Shell) + GLUE模式(Python)
674
-Development stepsgo and see "chapter 3" .
675
-principlethe source code of script task is maintained in schedule center and script logic will be executed in executor. when script task was triggered, executor will load script source code and generate a script file on the machine where executor was deployed, the script will be called by java code, the script output log will be written to the task log file in real time so that we can monitor script execution in real time through schedule center, the return code 0 stands for success other for fail.
674
+Development steps:go and see "chapter 3" .
675
+principle:the source code of script task is maintained in schedule center and script logic will be executed in executor. when script task was triggered, executor will load script source code and generate a script file on the machine where executor was deployed, the script will be called by java code, the script output log will be written to the task log file in real time so that we can monitor script execution in real time through schedule center, the return code 0 stands for success other for fail.
676 676
 
677 677
 All supported types of scripts as shown beloes:
678 678
 
679
-    - shell scriptshell script task will be enabled when select "GLUE模式(Shell)"as task run mode.
679
+    - shell script:shell script task will be enabled when select "GLUE模式(Shell)"as task run mode.
680 680
     - python script: python script task will be enabled when select " GLUE模式(Python)"as task run mode.
681 681
     
682 682
 
683 683
 ##### 5.5.4 executor
684
-Executor is actually an embedded Jetty server with default port 9999, as shown below(parameterxxl.job.executor.port).
684
+Executor is actually an embedded Jetty server with default port 9999, as shown below(parameter:xxl.job.executor.port).
685 685
 
686 686
 ![输入图片说明](https://static.oschina.net/uploads/img/201703/10174923_TgNO.png "在这里输入图片标题")
687 687
 
@@ -731,12 +731,12 @@ The develop process of "分片广播" is the same as general task, The differenc
731 731
     
732 732
 This slice parameter object has two properties:
733 733
 
734
-    indexthe current slice number(start with 0),stands for the number of current executor in the executor cluster.
735
-    totaltotal slice number,stands for total slices in the executor cluster.
734
+    index:the current slice number(start with 0),stands for the number of current executor in the executor cluster.
735
+    total:total slice number,stands for total slices in the executor cluster.
736 736
 
737 737
 This feature applies to scenes as shown below:
738
-- 1、slice task scenewhen 10 executor to handle 10w records,  1w records need to be handled per machine, time-consuming 10 times lower;
739
-- 2、Broadcast task scenebroadcast all cluster nodes to execute shell script、broadcast all cluster nodes to update cache.
738
+- 1、slice task scene:when 10 executor to handle 10w records,  1w records need to be handled per machine, time-consuming 10 times lower;
739
+- 2、Broadcast task scene:broadcast all cluster nodes to execute shell script、broadcast all cluster nodes to update cache.
740 740
 
741 741
 #### 5.10 AccessToken
742 742
 To improve system security it is need to check security between schedule center and executor, just allow communication between them when AccessToken of each other matched.
@@ -745,64 +745,64 @@ The AccessToken of scheduler center and executor can be configured by xxl.job.ac
745 745
 
746 746
 There are only two settings when communication between scheduler center and executor just:
747 747
 
748
-- onedo not configure AccessToken on both, close security check.
749
-- twoconfigure the same AccessToken on both;
748
+- one:do not configure AccessToken on both, close security check.
749
+- two:configure the same AccessToken on both;
750 750
 
751 751
 
752 752
 ## 6 Version update log
753 753
 #### 6.1 version V1.1.x,New features [2015-12-05]
754 754
 **【since V1.1.x,XXL-JOB was used by company hiring me,alias Ferrari inner company,the latest version is recommended for new project】**
755
-- 1、simple:support CRUD operation through Web page, simple and one minute to get started;
756
-- 2、dynamic:support dynamic update task status,pause/recover task and effective in real time.
757
-- 3、service HA:task info stored in mysql, Job service support cluster to make sure service HA.
758
-- 4、task HAwhen some Job services hangs up, tasks will be assigned to some other alive machines, if all nodes of the cluster hangs up,  it will  compensate for the execution of lost task when restart.
759
-- 5、one task instance will only be executed on one executor
760
-- 6、task is executed serially
761
-- 7、support for custom parameters
755
+- 1、simple:support CRUD operation through Web page, simple and one minute to get started;
756
+- 2、dynamic:support dynamic update task status,pause/recover task and effective in real time;
757
+- 3、service HA:task info stored in mysql, Job service support cluster to make sure service HA;
758
+- 4、task HA:when some Job services hangs up, tasks will be assigned to some other alive machines, if all nodes of the cluster hangs up,  it will  compensate for the execution of lost task when restart;
759
+- 5、one task instance will only be executed on one executor;
760
+- 6、task is executed serially;
761
+- 7、support for custom parameters;
762 762
 - 8、Support pause task execution remotely .
763 763
 
764 764
 #### 6.2 version V1.2.x,New features [2016-01-17]
765
-- 1、support task group
765
+- 1、support task group;
766 766
 - 2、suport local task, remote task;
767
-- 3、support two types underlying communication ,Servlet or JETTY
768
-- 4、support task log
769
-- 5、support serially execution,parallel execution
767
+- 3、support two types underlying communication ,Servlet or JETTY;
768
+- 4、support task log;
769
+- 5、support serially execution,parallel execution;
770 770
 	
771
-	Description:system architecture of V1.2 divided by function as shown below:
771
+	Description:system architecture of V1.2 divided by function as shown below:
772 772
 	
773
-		- schedule module(schedule center)Responsible for managing schedule information,send schedule request according to the schedule configuration;
774
-		- execute module(executor)Responsible for receiving schedule request and execute task logic;
775
-		- communication moduleResponsible for the communication between the schedule module and execute module;
776
-	advantage
773
+		- schedule module(schedule center):Responsible for managing schedule information,send schedule request according to the schedule configuration;
774
+		- execute module(executor):Responsible for receiving schedule request and execute task logic;
775
+		- communication module:Responsible for the communication between the schedule module and execute module;
776
+	advantage:
777 777
 	
778
-		- Decoupleexecute module supply task api, schedule module maintains schedule information, The business is independent of each other;
778
+		- Decouple:execute module supply task api, schedule module maintains schedule information, The business is independent of each other;
779 779
 		- High scalability;
780 780
 		- stability;
781 781
 
782 782
 #### 6.3 version V1.3.0,New features [2016-05-19]
783 783
 - 1、discard local task module, remote task was recommended, easy to decouple system, the JobHander of task was called executor.
784 784
 - 2、dicard underlying communication type servlet, JETTY was recommended, schedule and callback bidirectional communication, rebuild the communication logic;
785
-- 3、UI interactive optimizationoptimize left menu expansion and menu item selected status , task list opens the table with compression optimization;
786
-- 4、【important】executor is subdivided into two develop modeBEAN、GLUE:
785
+- 3、UI interactive optimization:optimize left menu expansion and menu item selected status , task list opens the table with compression optimization;
786
+- 4、【important】executor is subdivided into two develop mode:BEAN、GLUE:
787 787
 	
788
-	Introduction to the executor mode
789
-		- BEAN mode executorevery executor is a Spring Bean instance,it was recognized and scheduled by XXL-JOB through @JobHander annotation
790
-		 -GLUE mode executorevery executor corresponds to a piece of code,edited and maintained online by Web, Dynamic compile and takes effect in real time, executor is responsible for loading GLUE code and executing
788
+	Introduction to the executor mode:
789
+		- BEAN mode executor:every executor is a Spring Bean instance,it was recognized and scheduled by XXL-JOB through @JobHander annotation;
790
+		 -GLUE mode executor:every executor corresponds to a piece of code,edited and maintained online by Web, Dynamic compile and takes effect in real time, executor is responsible for loading GLUE code and executing;
791 791
 
792 792
 #### 6.4 version V1.3.1,New features [2016-05-23]
793
-- 1、Update project directory structure
794
-	- /xxl-job-admin -------------------- 【schedule center】Responsible for managing schedule information,send schedule request according to schedule configuration
793
+- 1、Update project directory structure:
794
+	- /xxl-job-admin -------------------- 【schedule center】:Responsible for managing schedule information,send schedule request according to schedule configuration;
795 795
 	- /xxl-job-core -----------------------  Public core dependence
796
-	- /xxl-job-executor-example ------ 【executor】:Responsible for receiving scheduling request and execute task logic;
796
+	- /xxl-job-executor-example ------ 【executor】:Responsible for receiving scheduling request and execute task logic;
797 797
 	- /db ---------------------------------- create table script
798 798
 	- /doc --------------------------------- user manual
799
-- 2、Upgrade the user manual under the new directory structure
800
-- 3、Optimize some interactions and UI
799
+- 2、Upgrade the user manual under the new directory structure;
800
+- 3、Optimize some interactions and UI;
801 801
 
802 802
 #### 6.5 version V1.3.2,New features [2016-05-28]
803
-- 1、Schedule logic for transactional handle
804
-- 2、executor asynchronous callback execution log
805
-- 3、【important】based on HA support of schedule center,extend executor’s Failover support,Support configure multiple execution addresses
803
+- 1、Schedule logic for transactional handle;
804
+- 2、executor asynchronous callback execution log;
805
+- 3、【important】based on HA support of schedule center,extend executor’s Failover support,Support configure multiple execution addresses;
806 806
 
807 807
 #### 6.6 version V1.4.0 New features [2016-07-24]
808 808
 - 1、Task dependency: it is implemented by trigger event, it will automatically trigger a child task schedule after Task execute success and callback, multiple child tasks are separated by commas;
@@ -859,119 +859,119 @@ Tips: V1.3.x release has been published , enter the maintenance phase, branch  a
859 859
 - 8、schedule center automatically registered and found, failover: schedule center periodically registered automatically, task callback can recognize all online schedule center addresses, task callback support failover so that it can avoid single point of risk.
860 860
 
861 861
 #### 6.10 version V1.5.1 New features [2016-11-13]
862
-- 1、Reconstruct the underlying code and optimize logic, clean POM and Clean Code
863
-- 2、Servlet/JSP Spec selected 3.0/2.2
864
-- 3、Spring updated to 3.2.17.RELEASE version
865
-- 4、Jetty updated to version 8.2.0.v20160908
866
-- 5、has push V1.5.0 and V1.5.1 to maven central warehouse
862
+- 1、Reconstruct the underlying code and optimize logic, clean POM and Clean Code;
863
+- 2、Servlet/JSP Spec selected 3.0/2.2;
864
+- 3、Spring updated to 3.2.17.RELEASE version;
865
+- 4、Jetty updated to version 8.2.0.v20160908;
866
+- 5、has push V1.5.0 and V1.5.1 to maven central warehouse;
867 867
 
868 868
 #### 6.10 version V1.5.2 New features [2017-02-28]
869
-- 1、optimize IP tools class which used to gets IP address,IP static cache
870
-- 2、both executor and schedule center support customize registered IP address;Solve problem when machine has multiple network card and get the wrong card;
871
-- 3、solve the problem that it will generate multiple log files when executed across days
872
-- 4、the non-sensitive log level is adjusted to debug
873
-- 5、Upgrade the database connection pool to c3p0
874
-- 6、optimize log4j property of executor,remove invalid attribute
875
-- 7、reconstruct underlying code and optimize logic and Clean Code
869
+- 1、optimize IP tools class which used to gets IP address,IP static cache;
870
+- 2、both executor and schedule center support customize registered IP address;Solve problem when machine has multiple network card and get the wrong card;
871
+- 3、solve the problem that it will generate multiple log files when executed across days;
872
+- 4、the non-sensitive log level is adjusted to debug;
873
+- 5、Upgrade the database connection pool to c3p0;
874
+- 6、optimize log4j property of executor,remove invalid attribute;
875
+- 7、reconstruct underlying code and optimize logic and Clean Code;
876 876
 - 8、optimize Dependency Injection Logic of GLUE, support injected as alias;
877 877
 
878 878
 #### 6.11 version V1.6.0 New features [2017-03-13]
879
-- 1、upgrade communication scheme,the HEX communication model is adjusted to the B-RPC model based on HTTP
880
-- 2、executor supports set execution address list manually,provide switch to use automatically registered address or manually set address
881
-- 3、executor route rules第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移
882
-- 4、unified thread model and thread destruction scheme (by the way of listener or stop() method,Destroy the thread when container is destroyedDaemon is sometimes not ideal);
883
-- 5、unified system configuration data,Unified managed by configuration files
884
-- 6、CleanCode,Clean up invalid historical parameters
879
+- 1、upgrade communication scheme,the HEX communication model is adjusted to the B-RPC model based on HTTP;
880
+- 2、executor supports set execution address list manually,provide switch to use automatically registered address or manually set address;
881
+- 3、executor route rules:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移;
882
+- 4、unified thread model and thread destruction scheme (by the way of listener or stop() method,Destroy the thread when container is destroyed;Daemon is sometimes not ideal);
883
+- 5、unified system configuration data,Unified managed by configuration files;
884
+- 6、CleanCode,Clean up invalid historical parameters;
885 885
 - 7、extend data structure and adjust related table structure;
886
-- 8、new created task defaults to a non-running state
887
-- 9、optimize update logic of GLUE mode task instance , The original update is based on the timeout value and now is updated according to the version number,version number plus one while source changed
886
+- 8、new created task defaults to a non-running state;
887
+- 9、optimize update logic of GLUE mode task instance , The original update is based on the timeout value and now is updated according to the version number,version number plus one while source changed;
888 888
 
889 889
 #### 6.12 version V1.6.1 New features [2017-03-25]
890
-- 1、Rolling log
891
-- 2、reconstruct WebIDE interactive
892
-- 3、enhanced communication check,filter unnormal requests effectively
893
-- 4、enhanced permission check,Using dynamic login TOKEN(recommend instead of internal SSO)
894
-- 5、optimize database configuration,solve garbled problem
890
+- 1、Rolling log;
891
+- 2、reconstruct WebIDE interactive;
892
+- 3、enhanced communication check,filter unnormal requests effectively;
893
+- 4、enhanced permission check,Using dynamic login TOKEN(recommend instead of internal SSO);
894
+- 5、optimize database configuration,solve garbled problem;
895 895
 
896 896
 #### 6.13 version V1.6.2 New features [2017-04-25]
897
-- 1、execution reportsupport view run time data in real time, such as task number, total schedule number, executor number etc., include schedule report , such as scheduled distribution graph on date, scheduled success distribution graph etc.
898
-- 2、JobHandler support set return value for tasks, it is easy to control task execute result in task logic.
899
-- 3、the problem could not view exception info when resource path include space or chinese word casused resource file could not be loaded.
900
-- 4、optimize route policyfix problems that Loop and LFU routing policy counters are no limit and first route is focused on the first machine
897
+- 1、execution report:support view run time data in real time, such as task number, total schedule number, executor number etc., include schedule report , such as scheduled distribution graph on date, scheduled success distribution graph etc;
898
+- 2、JobHandler support set return value for tasks, it is easy to control task execute result in task logic;
899
+- 3、the problem could not view exception info when resource path include space or chinese word casused resource file could not be loaded;
900
+- 4、optimize route policy:fix problems that Loop and LFU routing policy counters are no limit and first route is focused on the first machine;
901 901
 
902 902
 #### 6.14 version V1.7.0 New features [2017-05-02]
903
-- 1、script tasksupport develop and run script task by GLUE, include script type such as Shell、Python and Groovy;
904
-- 2、add spring-boot type executor example project
905
-- 3、upgrade jetty to version 9.2
906
-- 4、task execute log remove log4j dependency, instead of self-realization,Thus eliminate the dependency on the log component
907
-- 5、executor remove GlueLoader dependency,instead of push mode,thus GLUE source code load no longer rely on JDBC
908
-- 6、get the project name when login and redirect, solve 404 problem when it is not deployed by the directory
903
+- 1、script task:support develop and run script task by GLUE, include script type such as Shell、Python and Groovy;
904
+- 2、add spring-boot type executor example project;
905
+- 3、upgrade jetty to version 9.2;
906
+- 4、task execute log remove log4j dependency, instead of self-realization,Thus eliminate the dependency on the log component;
907
+- 5、executor remove GlueLoader dependency,instead of push mode,thus GLUE source code load no longer rely on JDBC;
908
+- 6、get the project name when login and redirect, solve 404 problem when it is not deployed by the directory;
909 909
 
910 910
 #### 6.15 version V1.7.1 New features [2017-05-08]
911
-- 1、unified write and read code of execute log as UTF-8,solve log garbled problem under windows environment
912
-- 2、communication timeout period is limited to 10s,To avoid schedule thread is occupied under abnormal situation.
913
-- 3、adjust executor , server stat, destroy and register logic.
914
-- 4、optimize Jetty Server shutdown logic, repair port occupation caused by executor could not be closed normally and frequent printe c3p0 log probleam.
915
-- 5、start child thread in JobHandler,support child thread print execute log and view by Rolling.
916
-- 6、task log cleanup
917
-- 7、pop-up component is replaced by layer
918
-- 8、upgrade quartz to version 2.3.0
911
+- 1、unified write and read code of execute log as UTF-8,solve log garbled problem under windows environment;
912
+- 2、communication timeout period is limited to 10s,To avoid schedule thread is occupied under abnormal situation;
913
+- 3、adjust executor , server stat, destroy and register logic;
914
+- 4、optimize Jetty Server shutdown logic, repair port occupation caused by executor could not be closed normally and frequent printe c3p0 log probleam;
915
+- 5、start child thread in JobHandler,support child thread print execute log and view by Rolling;
916
+- 6、task log cleanup;
917
+- 7、pop-up component is replaced by layer;
918
+- 8、upgrade quartz to version 2.3.0;
919 919
 
920 920
 #### 6.16 version V1.7.2 New features [2017-05-17]
921
-- 1、block handle policythe policy when schedule is too frequently and the executor it too late to handle, include multiple strategiessingle machine serially execute(default)、discard subsequent schedule、override before schedule
922
-- 2、fail handle policy;handle policy when scheduled fail, include :failure alarm(default)、failed to retry;
923
-- 3、The communication timeout is adjusted to 180s
924
-- 4、executor and database are completely decoupled,But the executor needs to configure schedule center cluster address。schedule center provides APIs for executor callbacks and heartbeat registration services,cancel jetty inner schedule center, heartbeat cycle is adjusted to 30s,heartbeat failure is triple heartbeat
925
-- 5、fix executor parameters lost bug when edit
926
-- 6、add task test Demo to make task logic test easier
921
+- 1、block handle policy:the policy when schedule is too frequently and the executor it too late to handle, include multiple strategies:single machine serially execute(default)、discard subsequent schedule、override before schedule;
922
+- 2、fail handle policy:handle policy when scheduled fail, include :failure alarm(default)、failed to retry;
923
+- 3、The communication timeout is adjusted to 180s;
924
+- 4、executor and database are completely decoupled,But the executor needs to configure schedule center cluster address。schedule center provides APIs for executor callbacks and heartbeat registration services,cancel jetty inner schedule center, heartbeat cycle is adjusted to 30s,heartbeat failure is triple heartbeat;
925
+- 5、fix executor parameters lost bug when edit;
926
+- 6、add task test Demo to make task logic test easier;
927 927
 
928 928
 #### 6.17 version V1.8.0 New features [2017-07-17]
929
-- 1、optimize update logic of task Cron,instead of rescheduleJob,at the same time preventing set cron repeatedly
930
-- 2、optimize API callback service failed status code,facilitate troubleshooting
931
-- 3、XxlJobLogger support multi-parameter
932
-- 4、route policy add "忙碌转移" modePerform idle detection in sequence,The first idle test successfully machine is selected as the target executor and trigger schedule.
933
-- 5、reconstruct route policy code
934
-- 6、fix executor repeat registration problem
935
-- 7、Task thread will be destroyed after 30 times idle turn, reduce the inefficient thread consumption of low frequency tasks.
929
+- 1、optimize update logic of task Cron,instead of rescheduleJob,at the same time preventing set cron repeatedly;
930
+- 2、optimize API callback service failed status code,facilitate troubleshooting;
931
+- 3、XxlJobLogger support multi-parameter;
932
+- 4、route policy add "忙碌转移" mode:Perform idle detection in sequence,The first idle test successfully machine is selected as the target executor and trigger schedule;
933
+- 5、reconstruct route policy code;
934
+- 6、fix executor repeat registration problem;
935
+- 7、Task thread will be destroyed after 30 times idle turn, reduce the inefficient thread consumption of low frequency tasks;
936 936
 - 8、Executor task execution result batch callback so that reduce callback frequency to improve actuator performance;
937
-- 9、cancle XML configuration of springboot executor project,instead of class configuration.
938
-- 10、supports filter execute log based on running status
939
-- 11、optimize scheduling Center Task Registration Detection Logic.
937
+- 9、cancle XML configuration of springboot executor project,instead of class configuration;
938
+- 10、supports filter execute log based on running status;
939
+- 11、optimize scheduling Center Task Registration Detection Logic;
940 940
 
941 941
 #### 6.18 version V1.8.1 New features [2017-07-30]
942
-- 1、slice broadcast taskWhen slice broadcast is selected as route policy in executor cluster, one task schedule will broadcast all executor node in cluster to trigger task execute in every executor, pass slice parameter at the same time, so we can develop slice task by slice parameters. 
943
-- 2、dynamic slice break the task by the dimensions of executor, support dynamic extend executor cluster so that it can add slice number dynamically to do business process, In case of large amount of data process can significantly improve task processing capacity and speed.
944
-- 3、executor JobHandler disables name conflicts
945
-- 4、executor cluster address list for natural sorting
946
-- 5、add test cases and optimize DAO layer code for Scheduling center
947
-- 6、schedule Center API service change to self-study RPC framework to u nify communication model.
948
-- 7、add schedule center API service test Demo, convenient in dispatch center API extension and testing
949
-- 8、Task list page interaction optimization,The task list is automatically refreshed when the executor group is replaced,create new job defaults to locate current executor position
950
-- 9、access TokenTo improve system security,it is used for safety check between schedule center and executor, communication allowed just when Both Access Token matched.
951
-- 10、upgrade springboot version to 1.5.6.RELEASE of executor
952
-- 11、unify maven version dependency management
942
+- 1、slice broadcast task:When slice broadcast is selected as route policy in executor cluster, one task schedule will broadcast all executor node in cluster to trigger task execute in every executor, pass slice parameter at the same time, so we can develop slice task by slice parameters;
943
+- 2、dynamic slice: break the task by the dimensions of executor, support dynamic extend executor cluster so that it can add slice number dynamically to do business process, In case of large amount of data process can significantly improve task processing capacity and speed;
944
+- 3、executor JobHandler disables name conflicts;
945
+- 4、executor cluster address list for natural sorting;
946
+- 5、add test cases and optimize DAO layer code for Scheduling center;
947
+- 6、schedule Center API service change to self-study RPC framework to u nify communication model;
948
+- 7、add schedule center API service test Demo, convenient in dispatch center API extension and testing;
949
+- 8、Task list page interaction optimization,The task list is automatically refreshed when the executor group is replaced,create new job defaults to locate current executor position;
950
+- 9、access Token:To improve system security,it is used for safety check between schedule center and executor, communication allowed just when Both Access Token matched;
951
+- 10、upgrade springboot version to 1.5.6.RELEASE of executor;
952
+- 11、unify maven version dependency management;
953 953
 
954 954
 #### 6.19 version V1.8.2 New features[Coding]
955
-- 1support configuring the HTTPS for executor callback URL;
956
-- 2、Standardize project directory for extend multi executors.
957
-- 3、add JFinal type executor sample project;
955
+- 1,support configuring the HTTPS for executor callback URL;
956
+- 2,Standardize project directory for extend multi executors;
957
+- 3,add JFinal type executor sample project;
958 958
 
959 959
 #### TODO LIST
960
-- 1、Task privilege management:control privilege on executor, check privilege on core operations;
961
-- 2、Task slice routing:using consistent Hash algorithm to calculate slice order as stable as possible, even if there is fluctuation in the registration machine will not cause large fluctuations in the order of slice. Currently using IP natural sorting can meet the demand,to be determined
962
-- 3、Failure retry optimization:The current failure to retry logic is execute the request logic once again after the scheduled request fails。The optimization point is retry for both scheduling and execution failures, retry a full schedule when retrying,This may lead schedule failure to an infinite loop,to be determined
963
-- 4write file when callback failed,read the log when viewing the log,callback confirm after rebooting
964
-- 5、Task dependency,flow chart,child task + aggregation task,log of each node;
965
-- 6、Scheduled task priority;
966
-- 7、Remove quartz dependencies and rewrite scheduld module:insert the next execution record into delayqueue when add or resume task, schedule center cluster compete distributed lock,successful nodes bulk load expired delayqueue data and batch execution.
967
-- 8springboot and docker image,and push docker image to the central warehouse,further realize product out of the box;
968
-- 9、globalization:schedule center interface and Official documents,add English version.
969
-- 10、executor removal:notify schedule center and remove the corresponding execute node when executor is destroyed, improve the timeliness of executor state recognized.
960
+- 1,Task privilege management:control privilege on executor, check privilege on core operations;
961
+- 2,Task slice routing:using consistent Hash algorithm to calculate slice order as stable as possible, even if there is fluctuation in the registration machine will not cause large fluctuations in the order of slice. Currently using IP natural sorting can meet the demand,to be determined;
962
+- 3,Failure retry optimization:The current failure to retry logic is execute the request logic once again after the scheduled request fails。The optimization point is retry for both scheduling and execution failures, retry a full schedule when retrying,This may lead schedule failure to an infinite loop,to be determined;
963
+- 4,write file when callback failed,read the log when viewing the log,callback confirm after rebooting;
964
+- 5,Task dependency,flow chart,child task + aggregation task,log of each node;
965
+- 6,Scheduled task priority;
966
+- 7,Remove quartz dependencies and rewrite scheduld module:insert the next execution record into delayqueue when add or resume task, schedule center cluster compete distributed lock,successful nodes bulk load expired delayqueue data and batch execution;
967
+- 8,springboot and docker image,and push docker image to the central warehouse,further realize product out of the box;
968
+- 9,globalization:schedule center interface and Official documents,add English version;
969
+- 10,executor removal:notify schedule center and remove the corresponding execute node when executor is destroyed, improve the timeliness of executor state recognized;
970 970
 
971 971
 ## 7. Other
972 972
 
973 973
 #### 7.1 report problem
974
-XXL-JOB project is on Github,If you have any questions, you can ask questions at [ISSUES](https://github.com/xuxueli/xxl-job/issues/) You can also join the above technical exchange group
974
+XXL-JOB project is on Github,If you have any questions, you can ask questions at [ISSUES](https://github.com/xuxueli/xxl-job/issues/) You can also join the above technical exchange group;
975 975
 
976 976
 #### 7.2 used records(record just for spread,Product is open source and free of charge)
977 977
 Record for spread product and product is free and open source. 
@@ -984,8 +984,8 @@ XXL-JOB uses GPLv3 protocol to ensure the user's right of free use. The agreemen
984 984
 Copyright (c) 2015-present, xuxueli.
985 985
 
986 986
 ---
987
-#### 捐赠
988
-scan it if want to support project,reward a cup of coffee to author
987
+#### donation
988
+scan it if want to support project,reward a cup of coffee to author:
989 989
 
990
-webchat![输入图片说明](https://static.oschina.net/uploads/img/201707/07214300_qhxT.png "在这里输入图片标题")
991
-Alipay![输入图片说明](http://images2015.cnblogs.com/blog/554415/201605/554415-20160513183306234-1939652116.png "在这里输入图片标题")
990
+webchat:![输入图片说明](https://static.oschina.net/uploads/img/201707/07214300_qhxT.png "在这里输入图片标题")
991
+Alipay:![输入图片说明](http://images2015.cnblogs.com/blog/554415/201605/554415-20160513183306234-1939652116.png "在这里输入图片标题")