Описание будет длинным и подробным, пожалуйста, имейте это в виду.
Я хочу сделать запланированное задание в моем приложении play-framework 2.6
, которое выполняется в определенное время каждый день, скажем, например, в 12:00.
Как человек, который не работал в akka
, я покопался и нашел несколько решений.
Очевидно, akka
не дает функциональности для планирования такой работы,мы можем назначить таймерные задания, используя akka
, то есть запускать их каждые 6 часов или что-то в этом роде.
Я обнаружил, что есть планировщик akka quartz , но я не смогнайдите любой пример / реализацию этого с play framework 2.6
.
Я также прочитал этот , но по какой-то причине он дал ошибки.
Наконец я решил изменитьмое решение и использовать метод на основе таймера, описанный в Play!Документация ScheduledTasks .
Я создал новый пакет в своем приложении play 2.6
и добавил в него классы MyActorClass
и CodeBlockTask
, как описано в ссылке.
Затем я изменил кодчтобы показать какое-то сообщение, чтобы я знал, что оно работает или нет
actorSystem.scheduler.schedule(initialDelay = 10.seconds, interval = 1.minute) {
// the block of code that will be executed
Logger.info("Executing something...")
println("Executing something...")
}
Я запустил приложение через sbt run
и Выполнение чего-либо ... не отображалось на консоли,Вот мои вопросы по этому поводу:
1. Не запускается ли задание после каждой минуты само по себе?
2. Если нет, то как правильновызвать это?
Вопрос относительно всей ситуации:
3. Что я могу сделать, если я хочу применить решение на основе времени?
PS: Требуется решение в Scala.