영구 객체 MyService를 사용하는 웹 응용 프로그램에서 작업하고 있습니다. 웹 인터페이스를 사용하여 동적으로 상태를 업데이트하고 동작을 모니터링합니다. 이제 주기적으로 그 메소드 중 하나를 호출하려고합니다. 나는 셀리 PeriodicTask를 사용하려고 생각했지만 몇 가지 문제를 다루고있다.django 서버 공유 범위 셀러리 작업자
문제는 내가 그이면 MyService를 확인하는 경우에도 것이 안전 하나 개 이상의 스레드에서 사용할 수있는 싱글이 있다는 것이다python manage.py runserver
python manage.py celery worker
python manage.py celerybeat
이, 셀러리는 물체 자체의 신선한 복사본을 생성합니다 : 내가 세 가지 프로세스를 실행해야 할 것 같습니다 . 내가 장고 서버와 샐러리의 주요 프로세스 사이에이 개체를 공유 할 수있는 방법이 있나요? 난 장고 스크립트 내에서 셀러리를 시작하는 방법을 찾으려고했지만 지금까지 성공하지 못했습니다. 어떤 도움을 주시면 감사하겠습니다.
예, 이것이 간단한 정적 데이터를 전달하는 방법이라고 생각합니다. 불행히도 MyService는 단순한 데이터 저장 이상의 것입니다. 콜백 함수를 사용하여 새로운 스레드를 생성해야합니다. 나는 새로운 서비스로 그것을 실행하고 장고가 직접 소켓을 사용하여 통신하게 할 것이라고 생각한다. – pegazik
정확히 무엇을 해야하는지 모르겠지만 안전한 방법으로 뭔가를 의사 소통을 할 수도 있습니다. redis pubsub 나 0mq와 같은 메시지 대기열을 볼 수도 있습니다. –