Actualización de la caché del navegador en el matraz
Tengo un pequeño servidor de matraces que estoy ejecutando principalmente para experimentar y herramientas que estoy desarrollando para uso propio (en mi red doméstica). Se ejecuta en modo de desarrollo en una máquina Raspberry Pi. Está configurado para iniciarse en el inicio a través de rc.local
:
sudo -H -u pi /home/pi/Server/start.sh &
y el start.sh
archivo lee
#!/bin/bash
cd /home/pi/Server
source /home/pi/Server/venv/bin/activate
export FLASK_APP=/home/pi/Server/app.py
export FLASK_ENV=development
export FLASK_RUN_HOST=192.168.1.104
export FLASK_RUN_PORT=5001
flask run
En las primeras parejas de días todo iba bien, pero ahora aparece el siguiente error:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 2309, in __call__
return self.wsgi_app(environ, start_response)
File "/usr/lib/python3/dist-packages/flask/app.py", line 2295, in wsgi_app
response = self.handle_exception(e)
File "/usr/lib/python3/dist-packages/flask/app.py", line 1741, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python3/dist-packages/flask/_compat.py", line 35, in reraise
raise value
File "/usr/lib/python3/dist-packages/flask/app.py", line 2291, in wsgi_app
ctx.push()
File "/usr/lib/python3/dist-packages/flask/ctx.py", line 377, in push
self.app, self.request
File "/usr/lib/python3/dist-packages/flask/sessions.py", line 343, in open_session
data = s.loads(val, max_age=max_age)
File "/usr/lib/python3/dist-packages/itsdangerous.py", line 643, in loads
.unsign(s, max_age, return_timestamp=True)
File "/usr/lib/python3/dist-packages/itsdangerous.py", line 466, in unsign
return value, self.timestamp_to_datetime(timestamp)
File "/usr/lib/python3/dist-packages/itsdangerous.py", line 404, in timestamp_to_datetime
return datetime.utcfromtimestamp(ts + EPOCH)
OverflowError: timestamp out of range for platform time_t
Por lo que veo aquí, este es un problema de caché del navegador. ¿Cómo puedo decirle al matraz que haga frente a esto?
Respuestas
¿Parece que estás usando sesiones / cookies? Intente investigar eso, tal vez la fecha no sea correcta o no sea válida. Intente borrarlo session.clear()
o use una fecha de vencimiento más corta. También tuve problemas después de actualizar de python 2 a 3 que estropearon las cookies, si lo ha hecho, debe borrar su caché para que se puedan configurar las cookies de fecha / hora de python3.
Esto parece ser un error cuando el tiempo devuelto es 0 de este problema de Adafruit CircuitPython NTP . Un enfoque directo sería parchear algunas dependencias de matraces con un PR.
Sin embargo, esto parece ser más un error con la antigüedad de su caché. Intenta reducirlo a poco tiempo
@app.after_request
def after_request(response):
response.headers["Cache-Control"] = "max-age=300" # in second
return response