바뀜
둘러보기로 가기
검색하러 가기
← 이전 편집
다음 편집 →
Celery:Django
(편집)
2023년 1월 10일 (화) 18:36 판
404 바이트 추가됨
,
2023년 1월 10일 (화) 18:36
→뷰에서의 작업
1번째 줄:
1번째 줄:
== 개요 ==
== 개요 ==
−
장고나 플라스크 등 웹서버에서 오래걸리는 작업을 수행하게 되면 timeout이 떠버려 결과를 받아볼 수가 없다
.
그렇다고 웹서버의 timeout을 늘려버리면 비효율적인 자원낭비가 예상되어 함부로 늘릴 수도 없다. 그럴 때 사용하는 celery(샐러리)
.
+
장고 내에서 셀러리를 사용하기 위한 정보를 담은 문서
.
완전 기초론 아무것도 배울 수 없기에 적절한 활용이 가능할 지식을 담아보았다
.
−
장고 내에서 셀러리를 사용하기 위한 정보를 담은 문서
.
+
=== 용도 ===
+
+
* 장고나 플라스크 등 웹서버에서 오래걸리는 작업을 수행하게 되면 timeout이 떠버려 결과를 받아볼 수가 없다. 그렇다고 웹서버의 timeout을 늘려버리면 비효율적인 자원낭비가 예상되어 함부로 늘릴 수도 없다. 그럴 때 사용하는 celery(샐러리).
+
* 스케쥴링 작업을 할 때에도 사요한다
.
=== 운용방식 ===
=== 운용방식 ===
139번째 줄:
142번째 줄:
|샐러리 실행
|샐러리 실행
|[데몬으로 시작하는 법은 따로 있나보다.]
|[데몬으로 시작하는 법은 따로 있나보다.]
+
다른 터미널 창을 열어 따로 실행해주어야 한다.
+
+
task.py의 내용이 바뀌면 재실행 해주어야 한다.(장고의 내용이 바뀌면 재실행하듯.)
|celery -A settings.py가있는폴더.celery worker --loglevel=info
|celery -A settings.py가있는폴더.celery worker --loglevel=info
|}
|}
172번째 줄:
178번째 줄:
|뷰
|뷰
|delay()는 celery의 업무를 수행하는 apply_async()의 간소판.
|delay()는 celery의 업무를 수행하는 apply_async()의 간소판.
−
카운트다운이나 재실행 등의 자세한 옵션은 apply_async()에 더 자세한 변수를 넣음으로써 가능해진다.
+
카운트다운이나 재실행 등의 자세한 옵션은 apply_async()에 더 자세한 변수를 넣음으로써 가능해진다.
(좀 과하게 긴 작업을 제한한다든가.)
|<syntaxhighlight lang="python">
|<syntaxhighlight lang="python">
from django.shortcuts import render, redirect
from django.shortcuts import render, redirect
Sam
사무관
,
인터페이스 관리자
,
관리자
, 교사
편집
1,408
번
둘러보기 메뉴
개인 도구
로그인하지 않음
토론
기여
계정 만들기
로그인
이름공간
문서
토론
변수
보기
읽기
편집
원본 편집
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
특수 문서 목록
인쇄용 판