2009-10-07 49 views
1

我正在爲Django提供的網站編寫一些拍賣功能,並且每次有人出價時都可以延長拍賣時間(因此不存在最後一分鐘的狙擊) 。拍賣結束後,需要完成某些事情,如通知勝利者並告知賣家他們需要發送物品。Django預定工作

在Django中,如何在拍賣結束時執行拍賣完成腳本,特別是當拍賣結束時間可能是移動目標時?

謝謝。

+1

您是否確實需要在拍賣結束的幾秒鐘內(或在第二個結束時)運行作業?或者是最新的cron風格的調度將足夠好? – 2009-10-07 23:14:04

回答

2

這聽起來像伸出的auction_end DateTime字段可以很容易地在競標完成的()查看

至於電子郵件的結果,你應該寫了一個管理腳本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 Django的通知本身。

2

聽起來像你可能想要有任何代碼負責關閉拍賣火災自定義信號,以表明它正在發生。

+1

是的,除了我的問題是找到何時運行負責關閉拍賣的代碼。 – So8res 2009-10-08 07:16:59

2

Django command extensions提供了就業系統(job scheduling)。將它添加到crontab後,它可以按小時/每天/每週/每月運行作業。

我認爲應該很容易地擴展作業管理命令來完成你的任務。