mirror of
https://github.com/2martens/tsw-timetable.git
synced 2026-10-17 07:57:55 +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.UserId
|
||||
import de.twomartens.timetable.types.HourAtDay
|
||||
import org.springframework.context.ApplicationEventPublisher
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler
|
||||
import org.springframework.stereotype.Service
|
||||
@@ -24,7 +25,8 @@ class FetchTaskScheduler(
|
||||
private val threadPoolTaskExecutor: ThreadPoolTaskExecutor,
|
||||
private val bahnApiService: BahnApiService,
|
||||
private val bahnDatabaseService: BahnDatabaseService,
|
||||
private val scheduledFetchTaskRepository: ScheduledFetchTaskRepository
|
||||
private val scheduledFetchTaskRepository: ScheduledFetchTaskRepository,
|
||||
private val eventPublisher: ApplicationEventPublisher
|
||||
) {
|
||||
fun scheduleStoreTask(timetable: BahnTimetable, userId: UserId, tswTimetableId: TimetableId,
|
||||
hourAtDay: HourAtDay) {
|
||||
|
||||
+5
-1
@@ -1,14 +1,17 @@
|
||||
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.repository.ScheduledFetchTaskRepository
|
||||
import mu.KotlinLogging
|
||||
import org.springframework.context.ApplicationEventPublisher
|
||||
import org.springframework.scheduling.annotation.Async
|
||||
|
||||
@Async
|
||||
open class DeleteScheduledTask(
|
||||
private val scheduledFetchTaskRepository: ScheduledFetchTaskRepository,
|
||||
private val scheduledFetchTask: ScheduledFetchTask
|
||||
val scheduledFetchTask: ScheduledFetchTask,
|
||||
private val eventPublisher: ApplicationEventPublisher
|
||||
) : Runnable {
|
||||
override fun run() {
|
||||
log.info {
|
||||
@@ -18,6 +21,7 @@ open class DeleteScheduledTask(
|
||||
"[time: ${scheduledFetchTask.fetchedDateTime.hour}]"
|
||||
}
|
||||
scheduledFetchTaskRepository.delete(scheduledFetchTask)
|
||||
eventPublisher.publishEvent(ScheduledTaskDeletedEvent(this))
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
Reference in New Issue
Block a user