package com.ruoyi.schedule.task;

import com.ruoyi.system.service.ISysConfigService;
import org.noear.solon.annotation.Component;
import org.noear.solon.annotation.Inject;
import org.noear.solon.scheduling.annotation.Async;
import org.noear.solon.scheduling.annotation.Scheduled;

/**
 * 任务调度（定时任务 + 异步）
 * @author ruoyi
 */
//@Component
public class RyTask {

    @Inject
    ISysConfigService sysConfigService;

    /**
     * 定时任务（fixedRate：毫秒）
     */
    @Scheduled(fixedRate = 1000 * 60 * 10)
    public void job001() {
        System.out.println("我是 job001 （10min）");
    }

    /**
     * 定时任务（cron表达式）
     */
    @Scheduled(cron = "0 0 0/1 * * ? *")
    public void job002() {
        System.out.println("我是 job002 （0 0 0/1 * * ? *）");
//        sysConfigService.doSomething();
    }

    /**
     * 定时任务（cron表达式 + 时区）
     */
    @Scheduled(cron = "0 0/30 * * * ? *", zone = "Asia/Shanghai")
    public void job003() {
        System.out.println("我是 job003 （0 0/30 * * * ? *）");
    }


    /**
     * 异步
     */
    @Async
    public void job004() {
        System.out.println("我是 job004 异步");
    }

}
