2017-12-11 3 views
0

일부 작업에서 특정 변경 사항에 대해 내 web-application (django framework 사용)에 메시지를 표시하고 싶습니다. celery을 구현했지만 위와 같은 작업을 데몬 프로세스로 실행하지 않고 UI의 변경 사항에 액세스하려고합니다. 누구든지 그렇게 할 수있는 방법을 제안 할 수 있습니까?셀러리 결과에 액세스하는 방법?

샐러리를 구성 할 수 있었지만 백그라운드에서 계속 작동시키지 못했습니다. 셀러 리에 변경 사항이 있으면 실제 요구 사항이 있습니다. UI에서 메시지를 호출하고 싶습니다. 가능합니까?

답변

0

셀리는 비동기 작업 큐이며 Django는 요청 - 응답 HTTP 루프를 기반으로합니다. 셀러리 작업의 결과에 액세스하려면 어딘가에 저장해야합니다. Redis는 일반적으로 백엔드 결과 저장소의 기본값입니다.

웹 UI에서 액세스하려면 간격 폴링을 통해 클라이언트에서 직접 redis db에 액세스하거나 API 끝점을 노출해야합니다. 후자가 더 바람직합니다.

+0

조건이 충족 될 때만 결과를 redis 백엔드에 저장할 수 있습니까? 저장되면 바로 UI에 알림 메시지를 보냅니다. @jason – saplalodh

+0

예. http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-task_ignore_result – Jason

+0

문제는 redis 데이터베이스에 액세스 할 수 없습니다. – saplalodh