我正在尝试将jobrunr 5.1.6集成到我的micronaut应用程序中。我无法在处理作业时触发过滤器实现ApplyStateFilter。请参阅以下内容:
class JobCompletionFilter : ApplyStateFilter {
override fun onStateApplied(job: Job?, oldState: JobState?, newState: JobState?) {
if (newState != null) {
if (isFailed(newState) && maxAmountOfRetriesReached(job)) {
// Failed after retry. Add logs and handle strategy logic
} else if (newState is SucceededState) {
// Job succeeded. Add job completion logic
}
}
}
如何为我的所有作业注入此过滤器?下面是我如何将作业入队
@Inject
lateinit var jobScheduler: JobScheduler
jobScheduler.enqueue {jobProcessor.execute(job)}
1条答案
按热度按时间67up9zun1#
在免费版本中,您必须通过Fluent Java API手动配置JobRunr,而不是使用Spring集成。在那里,您有可能通过过滤器。例如:
如需详细信息,请参阅fluent API。
在专业版中,任何作为Spring Bean的作业筛选器(例如
@Component
或@Service
)将自动执行,无需任何其他配置。有关详细信息,请参阅docs。