首页 > 解决方案 > @Scheduled 任务执行失败

问题描述

我在 Windows 7 上运行 grails 4.0.2。遵循此处找到的@Scheduled 指南的最基本部分:

https://guides.grails.org/grails-scheduled/guide/index.html

我没有收到任何输出到控制台。我什至尝试使用他们提供的项目。以下是相关代码:

在 grails-app/conf/logback.groovy

logger('demo', INFO, ['STDOUT'], false)

在 grails-app/services/demo/HelloWorldJobService.groovy

package demo

import groovy.transform.CompileStatic
import groovy.util.logging.Slf4j
import org.springframework.scheduling.annotation.Scheduled

import java.text.SimpleDateFormat

@Slf4j 
@CompileStatic 
class HelloWorldJobService {

    static lazyInit = false 

    @Scheduled(fixedDelay = 10000L) 
    void executeEveryTen() {
        log.info "Simple Job every 10 seconds :{}", new SimpleDateFormat("dd/M/yyyy hh:mm:ss").format(new Date())
    }

    @Scheduled(fixedDelay = 45000L, initialDelay = 5000L) 
    void executeEveryFourtyFive() {
        log.info "Simple Job every 45 seconds :{}", new SimpleDateFormat("dd/M/yyyy hh:mm:ss").format(new Date())
    }
}

由于这是一个简单的指南,我假设我的端存在配置错误,但我还没有找到它。

标签: windowsgrailsscheduled-tasks

解决方案


@EnableScheduling我认为该指南不正确 - 如果没有应用程序或配置的调度程序,spring-scheduling 将无法工作-

https://spring.io/guides/gs/scheduling-tasks/#_enable_scheduling


推荐阅读