스칼라 플레이 : 자동 리빌드에서 오래된 액터 / 스레드를 죽이는 방법?

여자

지속적인 작업 / 모니터링을하는 배우를 사용하는 플레이 어플리케이션이 있습니다.

예 :

class MyActor extends Actor {
    def act() { while(true) { /* work */ } }
}

내 코드에서이 액터를 정확히 한 번 시작합니다.
내 문제는 play가 자동으로 응용 프로그램을 다시 빌드 할 때마다 (소스 변경으로 인해) 새 액터를 생성하지만 이전 액터를 제거하지는 않는다는 것입니다. 모니터링을 위해 액터 대신 스레드 (데몬 스레드 포함)를 사용하는 경우에도 똑같은 일이 발생합니다.

자동 리빌드에서 이전 액터 / 스레드를 죽일 수있는 방법이 있습니까, 아니면 하나의 액터 만 존재하는지 확인하는 방법이 있습니까 (액터 스레드를으로 만들려고 시도했지만 object도움이되지 않았습니다). 응용 프로그램을 수동으로 (변경할 때마다 응용 프로그램을 다시 시작해도 자동으로 괜찮습니다)?

또한 백그라운드 모니터링을위한 더 나은 패턴이 있습니까 (분명히 끝나지 않는 스레드를 생성하지 않는 패턴).

감사

헨릭 노르 드 비크

응용 프로그램 이벤트를 수신하도록 전역 개체정의 할 수 있습니다 (기본 패키지에 정의되어야 함).

import play.api.GlobalSettings

object Global extends GlobalSettings {

  override def onStart(application: play.api.Application) {
    println("Starting actors")
    MyActorSystem
  }

  override def onStop(application: play.api.Application) {
    println("Stopping actors")
    MyActorSystem.system.shutdown()
  }
}

다시로드가 발생하면 중지 및 시작 이벤트가 트리거됩니다. Play의 내부 액터 시스템을 사용하는 경우 대신 이것을 사용할 수 있다고 생각합니다.

play.api.libs.concurrent.Akka.system.shutdown()

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

스칼라 플레이 : 자동 리빌드에서 오래된 액터 / 스레드를 죽이는 방법?

분류에서Dev

이 스레드를 죽이는 방법?

분류에서Dev

오라클 양식의 디스플레이 항목에 자동화 된 데이터를 표시하는 방법

분류에서Dev

나중에 스칼라 플레이 프레임 워크 애플리케이션으로 데이터베이스를 만드는 방법은 무엇입니까?

분류에서Dev

웹 애플리케이션 내에서 오래 실행되는 스레드가 작동하는 방법

분류에서Dev

웹 애플리케이션 내에서 오래 실행되는 스레드가 작동하는 방법

분류에서Dev

워드 프레스에서 플러그인 기능으로 생성 된 데이터를 관리자 패널에 표시하는 방법

분류에서Dev

N 초 후에 스레드를 죽이는 방법?

분류에서Dev

외부 라이브러리에서 함수를 계산하는 스레드를 죽이는 방법

분류에서Dev

데이터 프레임에서 스칼라를 검색하는 방법

분류에서Dev

잘못된 디스플레이 드라이버를 수정하는 방법?

분류에서Dev

스레딩 및 스레드 안전성-스레드 안팎에서 데이터를 관리하는 방법

분류에서Dev

오래된 프로세스를 죽이는 방법

분류에서Dev

스레드를 죽이는 방법 라쿠의 약속의 실행을 중지

분류에서Dev

Py2Neo-쿼리 데이터에 액세스하기 위해 cypher 쿼리에서 반환 된 레코드 개체를 반복하는 방법

분류에서Dev

Excel 스프레드 시트 열 내에서 연속 된 숫자의 특정 데이터를 찾는 방법

분류에서Dev

자동 증가 인덱스를 사용하여 사전에서 데이터 프레임을 만드는 방법

분류에서Dev

Flutter에서 왼쪽에서 오른쪽으로 또는 위에서 아래로 오버레이 스플래터 링 애니메이션을 만드는 방법

분류에서Dev

Flutter에서 왼쪽에서 오른쪽으로 또는 위에서 아래로 오버레이 스플래터 링 애니메이션을 만드는 방법

분류에서Dev

플레이! Scala : 테스트 할 때 애플리케이션 시작시로드 된 액터 모듈을 비활성화하는 방법은 무엇입니까?

분류에서Dev

조건 변수에 의해 잠긴 스레드를 죽이는 방법?

분류에서Dev

플레이 프레임 워크-플레이 프레임 워크에서 자바 코드를 사용하여 포스트 요청을 보내는 방법

분류에서Dev

플레이 스칼라에서 매끄러운 오류

분류에서Dev

데이터베이스에 액세스하는 다른 스레드를 테스트하는 방법

분류에서Dev

클래스에서 목록을 정의하고 액세스하는 방법-카드 게임에서 플레이어의 손에 액세스하는 방법

분류에서Dev

생성 된 레코드 트리거에서 데이터에 액세스하는 CRM 2011 사용자 지정 워크 플로

분류에서Dev

워드 프레스에서 플러그인으로 생성 된 관리자 메뉴를 숨기는 방법

분류에서Dev

카메라 애플리케이션에서 라이브 카메라 미리보기가 포함 된 레이아웃을 빌드하는 방법 이해

분류에서Dev

기존 데이터베이스 Android에서 레코드를 가져 오는 동안 애플리케이션이 중단됨

Related 관련 기사

  1. 1

    스칼라 플레이 : 자동 리빌드에서 오래된 액터 / 스레드를 죽이는 방법?

  2. 2

    이 스레드를 죽이는 방법?

  3. 3

    오라클 양식의 디스플레이 항목에 자동화 된 데이터를 표시하는 방법

  4. 4

    나중에 스칼라 플레이 프레임 워크 애플리케이션으로 데이터베이스를 만드는 방법은 무엇입니까?

  5. 5

    웹 애플리케이션 내에서 오래 실행되는 스레드가 작동하는 방법

  6. 6

    웹 애플리케이션 내에서 오래 실행되는 스레드가 작동하는 방법

  7. 7

    워드 프레스에서 플러그인 기능으로 생성 된 데이터를 관리자 패널에 표시하는 방법

  8. 8

    N 초 후에 스레드를 죽이는 방법?

  9. 9

    외부 라이브러리에서 함수를 계산하는 스레드를 죽이는 방법

  10. 10

    데이터 프레임에서 스칼라를 검색하는 방법

  11. 11

    잘못된 디스플레이 드라이버를 수정하는 방법?

  12. 12

    스레딩 및 스레드 안전성-스레드 안팎에서 데이터를 관리하는 방법

  13. 13

    오래된 프로세스를 죽이는 방법

  14. 14

    스레드를 죽이는 방법 라쿠의 약속의 실행을 중지

  15. 15

    Py2Neo-쿼리 데이터에 액세스하기 위해 cypher 쿼리에서 반환 된 레코드 개체를 반복하는 방법

  16. 16

    Excel 스프레드 시트 열 내에서 연속 된 숫자의 특정 데이터를 찾는 방법

  17. 17

    자동 증가 인덱스를 사용하여 사전에서 데이터 프레임을 만드는 방법

  18. 18

    Flutter에서 왼쪽에서 오른쪽으로 또는 위에서 아래로 오버레이 스플래터 링 애니메이션을 만드는 방법

  19. 19

    Flutter에서 왼쪽에서 오른쪽으로 또는 위에서 아래로 오버레이 스플래터 링 애니메이션을 만드는 방법

  20. 20

    플레이! Scala : 테스트 할 때 애플리케이션 시작시로드 된 액터 모듈을 비활성화하는 방법은 무엇입니까?

  21. 21

    조건 변수에 의해 잠긴 스레드를 죽이는 방법?

  22. 22

    플레이 프레임 워크-플레이 프레임 워크에서 자바 코드를 사용하여 포스트 요청을 보내는 방법

  23. 23

    플레이 스칼라에서 매끄러운 오류

  24. 24

    데이터베이스에 액세스하는 다른 스레드를 테스트하는 방법

  25. 25

    클래스에서 목록을 정의하고 액세스하는 방법-카드 게임에서 플레이어의 손에 액세스하는 방법

  26. 26

    생성 된 레코드 트리거에서 데이터에 액세스하는 CRM 2011 사용자 지정 워크 플로

  27. 27

    워드 프레스에서 플러그인으로 생성 된 관리자 메뉴를 숨기는 방법

  28. 28

    카메라 애플리케이션에서 라이브 카메라 미리보기가 포함 된 레이아웃을 빌드하는 방법 이해

  29. 29

    기존 데이터베이스 Android에서 레코드를 가져 오는 동안 애플리케이션이 중단됨

뜨겁다태그

보관