2017-05-04 112 views
-1

有一個聊天應用程序可以將消息傳輸到我的服務器,我這樣做是因爲我想將所有消息記錄保存在我自己的服務器上。基本上聊天的應用程序發送消息到特定的網址,我用Django來保存它們,我已經做到了,我使用了一個名爲save_message(request)的函數來保存它們(只需將消息寫入文本文件)。如何確保一個函數在一段時間內只被調用一次?

現在我想寫一個程序在服務器上,當消息到達服務器時可以給我發送電子郵件,我也這樣做了,我使用一個名爲send_email()的函數來完成它。

但是,問題是,我想定期發送電子郵件

例如:

  • 如果服務器在2小時內收到1000條短信,我只是想獲得一個email.That是說一旦收到的第一條消息,該電子郵件將被髮送,並剩下的2小時,是否有新消息,我不會收到任何消息。
  • 如果服務器在2/4/8/...小時內沒有收到任何消息,那麼我將不會收到任何電子郵件。

我想每個服務器接收郵件時,需要調用save_message(request),而且我認爲send_email()調用應在save_message(request)的身體,我不知道如何跳過這個調用,在一定的時間。可以做到嗎?

預先感謝您!

+1

多少時間寫了一個名爲send_email_if_desired功能來運行溫控功能指定的時間。它檢查是否在2小時前發送了最後一封郵件,如果是,則調用send_email。 – Brandin

回答

1

使用django-crontab並在setting.py您想後

+0

謝謝,它有幫助 – Jiahao

相關問題