稍后在 Quarkus JBeret 中安排工作

问题描述 投票:0回答:1

我使用 JBeret 的 Quarkus 实现,并希望在当天晚些时候安排一项工作。 所以我将 Scheduler 与 SchedulerExpression 一起使用。但是作业在调度后立即处理,而不是等到到达调度时间。我在tests中搜索,但所有测试都使用initialDelay,没有使用ScheduledExpression的测试。

` 属性properties =prepareJobCreation(currentJobName); property.setProperty(BatchParamName.FIRST_DAY_PREV_YEAR,firstDayPrevYear);

    ScheduleExpression scheduleExpression = new ScheduleExpression();
    scheduleExpression.dayOfMonth(17);
    scheduleExpression.month(8);
    scheduleExpression.year(2024);
    scheduleExpression.hour(18);
    scheduleExpression.minute(1);
    scheduleExpression.second(0);
    final JobScheduleConfig scheduleConfig = JobScheduleConfigBuilder.newInstance()
            .jobName("jobname")
            .scheduleExpression(scheduleExpression)
            .jobParameters(properties)
            .build();

    jobScheduler.schedule(scheduleConfig);

` 在 2024 年 9 月 17 日 17:50 运行此代码时,作业在 17:50 处理,在 18:01 没有任何反应。

我还尝试将 9 放入月份(而不是 Java 中通常的 8)机器人,但也没有成功。

Quarkus JBeret 有可能做到这一点吗?还是我做错了?

quarkus jberet
1个回答
0
投票

我的猜测是 ScheduleExpression 是 ejb api 的一部分,它创建一个由 ejb 容器执行的 cron 计划,该计划可能不存在于您的 quarkus 中。

© www.soinside.com 2019 - 2024. All rights reserved.