2012-12-10 4 views
-1

그래서이 2 개의 애플리케이션을 REST API (json 메시지)와 연결했습니다. 하나는 장고로, 다른 하나는 PHP로 작성되었습니다. mysql을 사용하여 양쪽에 정확한 데이터베이스 복제본을 가지고 있습니다.장고 셀러리 FIFO

그 중 하나에서 "제출"을 누르면 데이터가 현재 응용 프로그램 데이터베이스에 저장되고 cron 작업이 celery/redis로 시작되어 나머지 응용 프로그램에 대한 원격 데이터베이스가 rest로 업데이트됩니다.

제 질문은 FIFO 순서를 유지하기 위해 동일한 작업자가 내 작업에 어떤 영향을 줍니까?

내 데이터가 일관성이 있어야하며 FIFO가 정말로 중요합니다.

내가 조금 더하고 싶어 내가 뭘 세부 사항에 갈거야 확인 :

그래서 내가이 장고 응용 프로그램을 가지고 있고, 내가 누를 때 내가 양식을 작성 후 내 셀러리 노동자가 깨어나서을 담당 제출 제출 된 데이터를 가져 와서 원격 서버에 게시하십시오. 이것은 문제없이 할 수 있습니다.

자, 내 정확한 시간에 인터넷이 다운 된 것을 상상해보십시오. 셀러 리 작업자가 성공할 때까지 전송을 계속 시도합니다.하지만 이전 데이터가 제출되기 전에 다른 제출을한다고 상상해보십시오. 내 데이터는 다른 원격 섬기는 사람.

이제 제 문제입니다. 나는 셀 라이트에 의해 주어진 재시도 옵션으로 FIFO를 요청할 수 없다. 그래서 나는 그것을 알아 내는데 도움이 필요했다. 셀러리

사용라는 이름의 큐 : http://docs.celeryproject.org/en/latest/userguide/workers.html#queues

시작 하나의 작업자와 작업자 프로세스 :

+1

그들은 단지 데이터베이스를 공유 할 수 없으며/mysql 복제를 사용할 수 있습니까? –

+0

하나의 작업자 프로세스 만 사용하여 FIFO 스타일로 실행합니다. – ThiefMaster

+0

어떻게 강제로 하나의 작업자 프로세스 만 사용합니까? – psychok7

답변