有一個聊天應用程序可以將消息傳輸到我的服務器,我這樣做是因爲我想將所有消息記錄保存在我自己的服務器上。基本上聊天的應用程序發送消息到特定的網址,我用Django來保存它們,我已經做到了,我使用了一個名爲save_message(request)
的函數來保存它們(只需將消息寫入文本文件)。如何確保一個函數在一段時間內只被調用一次?
現在我想寫一個程序在服務器上,當消息到達服務器時可以給我發送電子郵件,我也這樣做了,我使用一個名爲send_email()
的函數來完成它。
但是,問題是,我想定期發送電子郵件。
例如:
- 如果服務器在2小時內收到1000條短信,我只是想獲得一個email.That是說一旦收到的第一條消息,該電子郵件將被髮送,並剩下的2小時,是否有新消息,我不會收到任何消息。
- 如果服務器在2/4/8/...小時內沒有收到任何消息,那麼我將不會收到任何電子郵件。
我想每個服務器接收郵件時,需要調用save_message(request)
,而且我認爲send_email()
調用應在save_message(request)
的身體,我不知道如何跳過這個調用,在一定的時間。可以做到嗎?
預先感謝您!
多少時間寫了一個名爲send_email_if_desired功能來運行溫控功能指定的時間。它檢查是否在2小時前發送了最後一封郵件,如果是,則調用send_email。 – Brandin