Wenn Sie mit der kostenlosen Stufe von Heroku 30 Minuten lang nicht auf den Server zugreifen, wird der Server in den Ruhezustand versetzt. Es gibt verschiedene Möglichkeiten, dies zu verhindern.
Dieses Mal werde ich Ihnen zeigen, wie Sie Schlaf auf der Django-Seite verhindern können
Diesmal besteht die Methode darin, beim Starten des Servers regelmäßig in einem separaten Thread auf Ihren Server zuzugreifen.
Da der Einstiegspunkt der Django-Anwendung "wsgi.py" ist, schreiben Sie den Code in "wsgi.py", damit die periodische Verarbeitung in einem anderen Thread ausgeführt wird. Referenz
wsgi.py
import os
import threading
import requests
import time
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hoge.settings")
application = get_wsgi_application()
def awake():
while True:
try:
print("Start Awaking")
requests.get("http://hogefuga.herokuapp.com/")
print("End")
except:
print("error")
time.sleep(300)
t = threading.Thread(target=awake)
t.start()
Dieser Code greift alle 300 Sekunden (5 Minuten) auf seinen eigenen Server zu. Dadurch wird verhindert, dass der Server in den Ruhezustand wechselt.