셀러리 없는 장고에서의 백그라운드 처리
저는 장고 사이트에서 두 사용자 간의 중간 대화 세션 상태를 유지하는 아주 작은 부분을 가지고 있습니다.기본적으로 첫 번째 사용자는 3분 동안 말하고 (다른 사용자는 말할 수 없음), 두 번째 사용자는 말하고 30초 동안 잠시 멈춘 후 이 과정을 한 번 더 반복합니다.저는 현재 데이터베이스와 "RoomState" 모델을 사용하여 룸의 현재 상태(말할 수 있는 사람 등)를 관리하고 있습니다.상태 전환은 클라이언트가 내 보기 중 하나에 10초마다 "ping" AJAX POST 메시지를 보내 상태를 변경해야 할 때인지 확인하는 것에 의해 영향을 받습니다.
이것은 효과가 있지만, 확실히 딱딱하게 느껴집니다.짧은 수명의 배경 작업을 타이머로 관리할 수 있는 django-celery + rabbitmq 보다 가벼운 것이 있는지 궁금합니다.저는 웹/장고의 특성이 무국적자라는 것을 깨달았지만, 상태 전환을 보다 안정적으로 관리할 수 있는 간단한 제안이 있는 사람이 있는지 알고 싶었습니다.
장고 유틸리티의 저자인 저는 더 풍부한 기능 세트, 더 나은 문서, 더 안정적이고 모든 파이썬 프레임워크(장고 포함)와 함께 작동하는 새로운 프로젝트 Huey를 사용해 볼 것을 제안합니다.문서.
저는 셀러리의 경량화를 위한 한 가지 대안을 알고 있습니다. 바로 장고유틸에 줄을 서는 것입니다.
또 다른 방법은 subprocess module을 직접 사용하는 것이지만 Celery와 django-utils에서 이미 해결된 몇 가지 문제를 해결해야 할 것입니다.
장고 배경 작업을 추천합니다.저는 여러 프로젝트에서 사용해 보았는데 간단한 작업 수행자 역할을 정말 잘합니다.장고의 투스쿱에서도 추천했습니다.
언급URL : https://stackoverflow.com/questions/8730911/background-processing-in-django-without-celery
'it-source' 카테고리의 다른 글
Android M - 런타임 권한 확인 - 사용자가 "다시 묻지 않음"을 선택했는지 확인하는 방법은? (0) | 2023.10.28 |
---|---|
32비트 응용 프로그램은 64비트 Linux에서 시스템 호출을 어떻게 합니까? (0) | 2023.10.28 |
regexp_substr Maria가 있는 문자열에서 마지막 날짜를 추출하려면 어떻게 해야 합니까?DB (0) | 2023.10.28 |
JQuery는 다른 자바스크립트에서 AJAX 호출을 들을 수 있습니까? (0) | 2023.10.28 |
구조체에 대한 모든 포인터가 동일한 크기여야 하는 이유는 무엇입니까? (0) | 2023.10.28 |