如何在JobRunr Spring Boot免费版中用自定义ApplyStateFilter处理失败任务
问题:JobRunr免费版中如何启用自定义ApplyStateFilter?
我有一个使用org.jobrunr:jobrunr-spring-boot-2-starter:6.1.1的Kotlin Spring Boot应用,希望捕获定时任务在所有重试后失败的情况。目前默认情况下,此类失败任务的信息会存储在jobrunr_jobs表中,但这种方式并不适用,因为我只能手动查看该表才能得知任务失败,无法及时获取通知。
我已编写自定义的ApplyStateFilter实现:
@Component class FailedStateFilter( private val alertService: AlertService ) : ApplyStateFilter { override fun onStateApplied(job: Job, oldState: JobState, newState: JobState) { if (mustBeProcessed(job, newState)) { alertService.send(job) } } private fun mustBeProcessed(job: Job, newState: JobState) = job.jobName == NOTIFICATION_JOB_NAME && newState is FailedState && newState.mustNotRetry() }
JobRunr官方文档指出:
Job Filter可用于扩展JobRunr功能,在任务成功或失败时执行额外业务流程,且免费版也支持该功能
但我不清楚如何在免费版中使用这个自定义的ApplyStateFilter。
内容的提问来源于stack exchange,提问作者NeverSleeps
相关产品推荐
相关产品推荐

