2014-11-28 2 views
0

분산 된 목표를 목표로하는 sbt 기반 프로젝트가 있다고 가정 해보십시오. 즉, 프로젝트에는 재생 애플리케이션 (일부 하위 프로젝트 계층 구조 포함)과 테스트 데이터를 채우는 도구,로드 등등이 포함됩니다. 필연적으로 프로젝트를 개발하기 위해서는 많은 동시 main()을 시작하고 싶다.SBT 기반 프로젝트에 대한 main() 동시 처리

현재 문제를 이런 식으로 결정했습니다. sbt 터미널 세션은 Play를 실행하는 데 사용되고 Scala IDE는 다른 사람을 위해 사용됩니다. 충돌을 없애기 위해 Play 용 자체 템플릿 엔진 및 라우터를 작성해야했습니다 (즉, Play의 용어로 관리되는 소스를 제거함).

OTOH, 저는 스텁 IDE (또는 IDE)에 강하게 매달려서 자신의 sbt 세션 자체로 많은 main() (각각의 출력을 추적)을 시작할 수있는 기회를 갖고 싶지 않습니다.

분산 시스템 개발을위한 sbt 기반 개발자의 환경은 무엇입니까?

+0

각 프로젝트는 자체적 인 별도의 프로세스 여야합니까? 왜 다른 스레드에서 코드를 실행하지 않습니까? –

답변

0

즉시 도움이되지는 않지만 일부 사용자가 sbt에 추가하는 작업 인 backgroundRun 작업에 관심이있을 수 있습니다. 지금 API는이 플러그인 코드입니다 : https://github.com/sbt/sbt-remote-control/blob/master/ui-interface/src/main/scala/sbt/BackgroundRun.scala

이되지 블록을 수행 실행 단지 버전 그리고 당신은 bash는 할 수있는대로 많은 작업을 관리 할 수 ​​있습니다. 이 모든 출판 작업이지만 작업입니다 어쨌든 https://github.com/playframework/playframework/pull/3591

: 재생을 지원하는 일반적인 실행을 지원하는 것보다 더 어렵다

는,이 PR이 필요합니다.

제가 생각하기에 가장 좋은 단기 해결책은 여러 인스턴스를 실행하고 한 번에 둘 이상을 컴파일하지 않도록주의하는 것입니다. 이상한 빌드 또는 클래스 경로 오류가 발생하면 깨끗하게 정리하고 여러 컴파일이 서로 쾅쾅 거리지 않아야합니다.

+0

아하, 알겠습니다, 현재 상태를 명확히 해줘서 고마워요. 대략적인 로드맵 추정이 있습니까? sbt에 리모콘이 추가 될 예정입니까? 희망적으로 내년에 –

+0

언젠가. 이 backgroundRun 기능을 사용하기 위해 리모팅이 실제로 필요하지는 않지만, 우리는 소비 가능한 방식으로 플러그인을 공개하지 않았다. –

관련 문제