2011-04-30 3 views
2

셀러리와 파일론을 설치하려고하는데 작동하지 않는 것 같습니다. 나는 pylons-celery를 다운로드했으나 pylons 환경에서 celeryconfig.py의 위치를 ​​어떻게 가리킬 수 있습니까? config 파일을 pylons-app \ celery 폴더에 저장했습니다. 나는이 post을 읽었지 만, 셀런과 pylons를 쌍으로 쓰는 방법은 언급하지 않았다. 모든 포인터는 감사하고있다. - 고마워!셀론과 파일런 사용하기

+0

가능한 복제본 [pylons와 함께 셀러리를 사용하는 데 성공한 사람이 있습니까?] (http://stackoverflow.com/questions/3989366/has-anyone-succeeded-in-using-celery-with-pylons) – user

답변

3

파일 시스템과 가장 밀접하게 통합되면 붙여 넣기 명령에 사용자 정의 로더를 빌드하는 것입니다. 이것은 셀러리 - 파일론이하는 것입니다. 최신 셀러리와 pylons 1.0에서 작동해야하는 celery-pylons의 내 포크를 확인하십시오.

당신이 당신의 INI 파일에 올바른 옵션을 추가 한 후 호출 할 필요가 작동 celeryd 측을 얻으려면 paster celeryd development.ini 그냥 그런 environment.py에서 celerypylons을 사용하면됩니다 가져와야 웹 애플리케이션 측에 대한

프로젝트의 어느 곳에서나 작업을 가져오고 사용할 수 있어야합니다.

+1

오래된. 여기에있는 모든 언급은 죽은 것처럼 보입니다. –

+0

@JamieStarke는 오래된 질문이나 더 이상 관련이없는 질문을 표시하는 방법이 있습니까? 나는 2011 년에 이것에 대해 물었습니다. 그래서 그것은 확실히 구식입니다. –

+0

중재자를 위해 신고 할 수는 있지만, 이런 경우에해야 할 일이 있는지는 알 수 없습니다 ... –

0

나는 당신이 성취하려고하는 것이 정확히 무엇인지 모르겠다. 그러나 필론이 셀러리와 함께 일할 수 있도록 설치하는 방법을 설명하고 그걸로 무언가를 얻을 수 있기를 바랍니다.

설정이 매우 간단합니다. jobs라고하는 단일 컨트롤러를 사용하여 Pylons로 REST API를 구현했습니다. POST 요청이 수신되면 컨트롤러 조치는 새 태스크를 셀러리에 제출하고 새 태스크의 uuid를 캡처 한 다음 uuid로 원래 요청에 응답합니다. 원래 내 celeryconfig.py 파일을 컨트롤러 디렉토리에 넣었지만 일단 pylons 응용 프로그램 에그를 아파치 웹 서버에 배포하면 celeryconfig.py가 더 이상 자동으로 발견되지 않았습니다.

이 문제를 해결하기 위해 모델 및 컨트롤러 디렉토리와 동일한 레벨에서 셀러리 디렉토리를 만들었고 그곳에 빈 .py와 함께 celeryconfig.py 파일을 배치했습니다.

다음은 jobs 컨트롤러의 코드 조각으로 셀러리에 연결하여 새 작업을 제출하는 코드입니다.

from celery import Celery 
    from my_pylons_app.celery import celeryconfig 
    celery_app = Celery() 
    celery_app.config_from_object(celeryconfig) 
    result = celery_app.send_task("process_job", [job_guid], connect_timeout=10) 

내 붙여 넣기 웹 서버와 공개 라이브 apache2 웹 서버 모두에서이 작업을 수행 할 수있었습니다.