it-source

셀러리 없는 장고에서의 백그라운드 처리

criticalcode 2023. 10. 28. 08:00
반응형

셀러리 없는 장고에서의 백그라운드 처리

저는 장고 사이트에서 두 사용자 간의 중간 대화 세션 상태를 유지하는 아주 작은 부분을 가지고 있습니다.기본적으로 첫 번째 사용자는 3분 동안 말하고 (다른 사용자는 말할 수 없음), 두 번째 사용자는 말하고 30초 동안 잠시 멈춘 후 이 과정을 한 번 더 반복합니다.저는 현재 데이터베이스와 "RoomState" 모델을 사용하여 룸의 현재 상태(말할 수 있는 사람 등)를 관리하고 있습니다.상태 전환은 클라이언트가 내 보기 중 하나에 10초마다 "ping" AJAX POST 메시지를 보내 상태를 변경해야 할 때인지 확인하는 것에 의해 영향을 받습니다.

이것은 효과가 있지만, 확실히 딱딱하게 느껴집니다.짧은 수명의 배경 작업을 타이머로 관리할 수 있는 django-celery + rabbitmq 보다 가벼운 것이 있는지 궁금합니다.저는 웹/장고의 특성이 무국적자라는 것을 깨달았지만, 상태 전환을 보다 안정적으로 관리할 수 있는 간단한 제안이 있는 사람이 있는지 알고 싶었습니다.

장고 유틸리티의 저자인 저는 더 풍부한 기능 세트, 더 나은 문서, 더 안정적이고 모든 파이썬 프레임워크(장고 포함)와 함께 작동하는 새로운 프로젝트 Huey를 사용해 볼 것을 제안합니다.문서.

는 셀러리의 경량화를 위한 한 가지 대안을 알고 있습니다. 바로 장고유틸에 줄을 서는 것입니다.

또 다른 방법은 subprocess module을 직접 사용하는 것이지만 Celerydjango-utils에서 이미 해결된 몇 가지 문제를 해결해야 할 것입니다.

장고 배경 작업을 추천합니다.저는 여러 프로젝트에서 사용해 보았는데 간단한 작업 수행자 역할을 정말 잘합니다.장고투스쿱에서도 추천했습니다.

언급URL : https://stackoverflow.com/questions/8730911/background-processing-in-django-without-celery

반응형