日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

實現(xiàn)任務(wù)調(diào)度

在EDAS控制臺中,已經(jīng)無縫集成了阿里巴巴的分布式任務(wù)調(diào)度系統(tǒng)SchedulerX作為核心組件,以實現(xiàn)高效的任務(wù)調(diào)度管理功能。本文將介紹如何在您的Spring Cloud應(yīng)用中使用SchedulerX實現(xiàn)任務(wù)調(diào)度,并部署到EDAS中,實現(xiàn)一個簡單Job單機版的任務(wù)調(diào)度功能。

為什么使用SchedulerX

SchedulerX是阿里巴巴的一款分布式任務(wù)調(diào)度產(chǎn)品。它為您提供秒級、精準、高可靠、高可用的定時(基于Cron表達式)任務(wù)調(diào)度服務(wù),同時提供分布式的任務(wù)執(zhí)行模型,如MapReduce模型。

在本地實現(xiàn)任務(wù)調(diào)度

  1. 創(chuàng)建命名為scx-example的Maven工程。

  2. 以Spring Boot 2.1.4.RELEASE和Spring Cloud Finchley.SR1為例,在pom.xml文件中添加如下依賴。

     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
         <version>2.1.4.RELEASE</version>
         <relativePath/>
     </parent>
    
      <dependencies>
        <dependency>
          <groupId>com.aliyun.schedulerx</groupId>
          <artifactId>schedulerx2-spring-boot-starter</artifactId>
          <version>${schedulerx2.version}</version>
          <!--如果用的是logback,需要把log4j和log4j2排除掉 -->
          <exclusions>
            <exclusion>
              <groupId>org.apache.logging.log4j</groupId>
              <artifactId>log4j-api</artifactId>
            </exclusion>
            <exclusion>
              <groupId>org.apache.logging.log4j</groupId>
              <artifactId>log4j-core</artifactId>
            </exclusion>
            <exclusion>
              <groupId>log4j</groupId>
              <artifactId>log4j</artifactId>
             </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
     </dependencies>
    
     <dependencyManagement>
         <dependencies>
             <dependency>
                 <groupId>org.springframework.cloud</groupId>
                 <artifactId>spring-cloud-dependencies</artifactId>
                 <version>Finchley.SR1</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
         </dependencies>
     </dependencyManagement>                        
    說明
    • 如果您需要選擇使用Spring Boot 1.x的版本,請使用Spring Boot 1.5.x和Spring Cloud Edgware版本,對應(yīng)的Spring Cloud Alibaba版本為1.5.1.RELEASE。

    • Spring Boot 1.x版本的生命周期已結(jié)束,推薦使用Spring Boot新版本開發(fā)您的應(yīng)用。

  3. 創(chuàng)建scx-example的啟動類ScxApplication

     import org.springframework.boot.SpringApplication;
     import org.springframework.boot.autoconfigure.SpringBootApplication;
    
     @SpringBootApplication
     public class ScxApplication {
         public static void main(String[] args) {
             SpringApplication.run(ScxApplication.class, args);
         }
     }               
  4. 創(chuàng)建一個簡單的類TestService,通過Spring向測試任務(wù)中的IoC進行注入。

     import org.springframework.stereotype.Service;
    
     @Service
     public class TestService {
    
         public void test() {
             System.out.println("---------IOC Success--------");
         }
     }                        
  5. 創(chuàng)建一個簡單的SimpleTask作為測試任務(wù)類,并在其中注入TestService

     import com.alibaba.edas.schedulerx.ProcessResult;
    import com.alibaba.schedulerx.worker.domain.JobContext;
     import com.alibaba.schedulerx.worker.processor.JavaProcessor;
     import org.springframework.beans.factory.annotation.Autowired;
    
     public class SimpleTask implements ScxSimpleJobProcessor {
    
         @Autowired
         private TestService testService;
    
         @Override
         public ProcessResult process(JobContext context) {
             System.out.println("-----------Hello world---------------");
             testService.test();
            return new ProcessResult(true);
         }
    
     }                        
  6. 創(chuàng)建調(diào)度任務(wù)并添加配置。

    1. 登錄EDAS控制臺,在測試地域中創(chuàng)建任務(wù)分組并記錄分組ID。具體操作,請參見應(yīng)用管理

    2. 在創(chuàng)建的任務(wù)分組中按以下參數(shù)創(chuàng)建任務(wù)。具體操作,請參見創(chuàng)建調(diào)度任務(wù)

      • 應(yīng)用ID:選擇在測試地域下剛創(chuàng)建的任務(wù)分組。

      • Processor類名:Job處理接口實現(xiàn)類的全類名,本文檔中為SimpleTask,和應(yīng)用中的測試任務(wù)類保持一致。

      • 執(zhí)行模式單機運行

      • cron表達式默認選項*0 * * * * ?*表示任務(wù)每分鐘會被執(zhí)行一次。

      • 描述:無

      • 任務(wù)參數(shù):無

    3. 在本地Maven工程的src/main/resources路徑下創(chuàng)建文件application.properties,在其中添加如下配置。

      server.port=18033
      # 配置任務(wù)的地域(測試地域?qū)?yīng)的**regionName**為*cn-test*)和分組ID(group-id)
      spring.schedulerx2.endpoint=acm.aliyun.com
      spring.schedulerx2.namespace=d1ce9d38-ab9b-444e-ab2a-4*****
      spring.schedulerx2.groupId=****
      spring.schedulerx2.appKey=5pHlwaWpluJGd39******                            
  7. 執(zhí)行ScxApplication中的main函數(shù),啟動服務(wù)。

結(jié)果驗證

在IDEA的Console中觀察標準輸出,可以看到會定時地打印出如下的測試信息。

-----------Hello world---------------
---------IOC Success--------            

部署到EDAS

SchedulerX在設(shè)計之初就考慮到了從開發(fā)環(huán)境遷移到EDAS的場景,您可以直接將應(yīng)用部署到EDAS中,無需修改任何代碼和配置。關(guān)于部署方式和詳細步驟的相關(guān)內(nèi)容,請參見創(chuàng)建和部署應(yīng)用概述(K8s)應(yīng)用創(chuàng)建和部署概述(ECS)

在部署完成之后,即可使用EDAS控制臺進行任務(wù)調(diào)度。

在非測試地域使用調(diào)度任務(wù)的附加步驟

本文檔以在測試地域中使用為例,測試環(huán)境為公網(wǎng)環(huán)境,您在本地或云端都可以進行驗證,且沒有權(quán)限的限制。如果您要部署到其它地域(如杭州)中,還需要在創(chuàng)建調(diào)度任務(wù)并調(diào)度的步驟中完成以下操作:

  1. 登錄EDAS控制臺,在測試地域中創(chuàng)建任務(wù)分組并記錄分組ID。具體操作,請參見應(yīng)用管理

  2. 登錄安全信息管理頁面,獲取AccessKey ID和AccessKey Secret。

  3. application.properties文件中配置調(diào)度任務(wù)。

    除了簡單Job單機版,您還可以配置其它類型的調(diào)度任務(wù)。相關(guān)內(nèi)容,請參見什么是分布式任務(wù)調(diào)度SchedulerX

  4. application.properties文件中添加您阿里云賬號的AccessKey ID和AccessKey Secret的配置。

    spring.cloud.alicloud.access-key=xxxxx
    spring.cloud.alicloud.secret-key=xxxxx                        

后續(xù)操作

您的應(yīng)用部署到EDAS之后,就可以使用SchedulerX組件實現(xiàn)更多任務(wù)調(diào)度的能力。相關(guān)內(nèi)容,請參見什么是分布式任務(wù)調(diào)度SchedulerX