2009-10-07 3 views
1

장고가 운영하는 웹 사이트에 대한 경매 기능을 쓰고 있습니다. 누군가가 입찰 할 때마다 경매를 몇 초 연장 할 수있는 옵션이 있습니다 (막판 저격이 없도록) . 경매가 끝나면 우승자에게 승리를 알리고 판매자에게 물품을 보내는 데 필요한 사람에게 알리는 것과 같은 특정 작업을 수행해야합니다.장고 예약 작업

장고에서 어떻게 경매가 끝날 때마다, 특히 경매 종료 시간이 움직일만한 목표가 될 때마다 장고 완료 스크립트를 실행해야합니까?

감사합니다.

+1

실제로 경매가 끝난 후 몇 초 이내에 (또는 끝나는 두 번째) 작업이 필요합니까? 아니면 최신 크론 스타일 스케줄링으로 충분할 것인가? –

답변

2

은()보기 쉽게 입찰에 할 수있는 auction_end 날짜 시간 필드를 확장 같은 소리

지금까지 당신이 종료하고 알림을 없었 경매에 대한 검사 관리 스크립트 http://docs.djangoproject.com/en/dev/howto/custom-management-commands/를 작성해야 이메일 결과로 cron에서 일정한 간격 (필요한 경우 분 단위)으로 실행되도록이 스크립트를 보내고 예약합니다. 예를 들어 pinax의 django-notification emit_notices 스크립트가 있습니다.

http://github.com/jtauber/django-notification/blob/master/notification/management/commands/emit_notices.py

더 나은 여전히 ​​당신이 장고 - 통지 자체를 leverege 할 수 있습니다.

2

아마도 경매 종결을 담당하는 코드가 발생했음을 나타내는 사용자 지정 신호를 발생시키는 코드가 있어야 할 것 같은데요.

+1

그래, 내 문제는 경매를 종료하는 코드를 언제 실행해야 하는지를 찾는 것이다. – So8res

2

Django command extensions은 작업 시스템 (job scheduling)을 제공합니다. crontab에 추가 한 후에는 매시간/매일/매주/매월 작업을 실행할 수 있습니다.

작업 관리 명령을 확장하여 작업을 손쉽게 수행 할 수 있어야한다고 생각합니다.