2013-07-05 2 views
2

셀러리 작업에서 컴파일 된/해석 된 코드를 호출하려고합니다. 이 코드는 파이썬이 아닌 다른 것으로 작성되었습니다.다른 프로그래밍 언어에서 셀러 리 작업을 실행하는 코드

제가 생각하고있는 것보다 더 나은 해결책이 있는지 알고 싶습니다.

해결책 1. 다른 프로세스를 시작하고 내가 관심있는 코드를 실행/해석하십시오. 이것은 프로세스를 생성하고 종료시키는 오버 헤드가 있습니다. 아주 작은 작업의 경우, 그 오버 헤드가 너무 높을 수 있습니다.

해결책 2. 대상 언어의 코드를 실행할 수있는 리스너 프로세스를 사용하십시오. 로컬 소켓에서 함수 시그니처 (예 : add (2,2))를 수신하고 동일한 소켓에서 결과를 실행하고 반환 할 수 있으며, 리스너는 프로세스/스레드 풀과 같은 것을 구현하여 여러 작업을 효율적으로 처리 할 수 ​​있습니다.

솔루션 3 (AndrewS 덕택에) 작업자 프로세스 빌드 (브로커에 연결됨) 셀로리 작업자를 대상 언어로 다시 작성하는 것을 의미하며 개발 노력면에서 가장 비싼 세 가지 버전입니다

+1

대상 언어로 작업자 프로세스 (브로커에 연결됨)를 옵션으로 구축하고 있습니까? 브로커를 사용하여 대상 언어와 파이썬을 분리 할 수 ​​있습니다. – AndrewS

+1

솔루션이지만 비용 효율성면에서 이상적인 솔루션은 아닙니다. 목록에 추가하겠습니다. 감사. –

답변

0

해결책을 찾았습니다.

또한 실제 작업 코드와 함께 RPC 용 Thrift를 사용하는 솔루션 2의 변형입니다. 코드는 대상 언어로 쓰여지고 Thrift IDL은 클라이언트와 서버를 생성 할 수있는 Thrift 컴파일러에 대해 설명합니다. 클라이언트는 분명히 Python 코드이고 서버는 대상 언어입니다.

다른 RPC 코드 생성기처럼 Thrift와 비슷한 대안이 있습니다.

모든 답변 주셔서 감사합니다.

관련 문제