Play 2.0 framework - постоянные темы для основного цикла приложения? - PullRequest
1 голос
/ 01 апреля 2012

Я изучаю инфраструктуру Play 2.0 для Scala, и помимо возможности обрабатывать запросы, я хотел бы запускать непрерывную задачу в фоновом режиме, как кучу таймеров.И каким-то образом можно получить доступ к этим таймерам из действий запрос-ответ, не получая каких-либо проблем с синхронизацией потоков.Я слышал о Джобсе в игре, и в Scala есть актеры.Тем не менее, я не могу найти какую-либо информацию о Джобсах в 2.0, они, кажется, были заменены Обещаниями ... но на самом деле все это не похоже на запуск постоянного фонового потока, и я не уверен, как актеры вписываются во всю парадигму.

По сути, мой вопрос - каков традиционный способ получить такой вид сопротивления в Play 2.0.

1 Ответ

4 голосов
/ 01 апреля 2012

Не совсем верно, Задания были заменены не Обещаниями, а планированием отправки сообщений актерам (см. «Планирование асинхронных задач»).

В любом случае, актеры, похоже,быть способом пойти за тобой.Для этого в Play 2.0 используется Akka .Это довольно просто, на самом деле.На домашней странице Akka есть подробное объяснение, что такое актеры и что вы можете с ними делать, но вы можете просто представить актера как некоторый код (скажем, функцию) с почтовым ящиком.Вы можете отправлять сообщения в почтовый ящик, и функция будет запускаться для каждого ожидающего его сообщения.Это может быть просто периодический сигнал для повторяющейся работы или ссылка на длинную фоновую задачу, указывающую, что нужно обновить.

...