mirror of
https://github.com/2martens/tsw-timetable.git
synced 2026-10-17 16:06:51 +02:00
change: Send event when DeleteScheduledTask is executed
This commit is contained in:
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package de.twomartens.timetable.bahnApi.events
|
||||||
|
|
||||||
|
import de.twomartens.timetable.bahnApi.tasks.DeleteScheduledTask
|
||||||
|
import org.springframework.context.ApplicationEvent
|
||||||
|
|
||||||
|
class ScheduledTaskDeletedEvent(source: DeleteScheduledTask) : ApplicationEvent(source) {
|
||||||
|
}
|
||||||
+3
-1
@@ -9,6 +9,7 @@ import de.twomartens.timetable.bahnApi.tasks.StoreTimetableTask
|
|||||||
import de.twomartens.timetable.model.common.TimetableId
|
import de.twomartens.timetable.model.common.TimetableId
|
||||||
import de.twomartens.timetable.model.common.UserId
|
import de.twomartens.timetable.model.common.UserId
|
||||||
import de.twomartens.timetable.types.HourAtDay
|
import de.twomartens.timetable.types.HourAtDay
|
||||||
|
import org.springframework.context.ApplicationEventPublisher
|
||||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
|
||||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler
|
||||||
import org.springframework.stereotype.Service
|
import org.springframework.stereotype.Service
|
||||||
@@ -24,7 +25,8 @@ class FetchTaskScheduler(
|
|||||||
private val threadPoolTaskExecutor: ThreadPoolTaskExecutor,
|
private val threadPoolTaskExecutor: ThreadPoolTaskExecutor,
|
||||||
private val bahnApiService: BahnApiService,
|
private val bahnApiService: BahnApiService,
|
||||||
private val bahnDatabaseService: BahnDatabaseService,
|
private val bahnDatabaseService: BahnDatabaseService,
|
||||||
private val scheduledFetchTaskRepository: ScheduledFetchTaskRepository
|
private val scheduledFetchTaskRepository: ScheduledFetchTaskRepository,
|
||||||
|
private val eventPublisher: ApplicationEventPublisher
|
||||||
) {
|
) {
|
||||||
fun scheduleStoreTask(timetable: BahnTimetable, userId: UserId, tswTimetableId: TimetableId,
|
fun scheduleStoreTask(timetable: BahnTimetable, userId: UserId, tswTimetableId: TimetableId,
|
||||||
hourAtDay: HourAtDay) {
|
hourAtDay: HourAtDay) {
|
||||||
|
|||||||
+5
-1
@@ -1,14 +1,17 @@
|
|||||||
package de.twomartens.timetable.bahnApi.tasks
|
package de.twomartens.timetable.bahnApi.tasks
|
||||||
|
|
||||||
|
import de.twomartens.timetable.bahnApi.events.ScheduledTaskDeletedEvent
|
||||||
import de.twomartens.timetable.bahnApi.model.db.ScheduledFetchTask
|
import de.twomartens.timetable.bahnApi.model.db.ScheduledFetchTask
|
||||||
import de.twomartens.timetable.bahnApi.repository.ScheduledFetchTaskRepository
|
import de.twomartens.timetable.bahnApi.repository.ScheduledFetchTaskRepository
|
||||||
import mu.KotlinLogging
|
import mu.KotlinLogging
|
||||||
|
import org.springframework.context.ApplicationEventPublisher
|
||||||
import org.springframework.scheduling.annotation.Async
|
import org.springframework.scheduling.annotation.Async
|
||||||
|
|
||||||
@Async
|
@Async
|
||||||
open class DeleteScheduledTask(
|
open class DeleteScheduledTask(
|
||||||
private val scheduledFetchTaskRepository: ScheduledFetchTaskRepository,
|
private val scheduledFetchTaskRepository: ScheduledFetchTaskRepository,
|
||||||
private val scheduledFetchTask: ScheduledFetchTask
|
val scheduledFetchTask: ScheduledFetchTask,
|
||||||
|
private val eventPublisher: ApplicationEventPublisher
|
||||||
) : Runnable {
|
) : Runnable {
|
||||||
override fun run() {
|
override fun run() {
|
||||||
log.info {
|
log.info {
|
||||||
@@ -18,6 +21,7 @@ open class DeleteScheduledTask(
|
|||||||
"[time: ${scheduledFetchTask.fetchedDateTime.hour}]"
|
"[time: ${scheduledFetchTask.fetchedDateTime.hour}]"
|
||||||
}
|
}
|
||||||
scheduledFetchTaskRepository.delete(scheduledFetchTask)
|
scheduledFetchTaskRepository.delete(scheduledFetchTask)
|
||||||
|
eventPublisher.publishEvent(ScheduledTaskDeletedEvent(this))
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
Reference in New Issue
Block a user