Django - Sincronizar base de datos django con Heroku Scheduler

 
Vista:
sin imagen de perfil

Sincronizar base de datos django con Heroku Scheduler

Publicado por Jesús Antonio (1 intervención) el 10/05/2023 18:47:00
Tengo desplegada una aplicación django en Heroku. La aplicación usa la base de datos SQLite3 integrada con django y funciona perfectamente en local. Tengo creados dos jobs en Heroku Scheduler para poder ejecutar dos funciones distintas de manera automática cada día. El problema es que el job funciona (se ha probado en local y va guay y se ha comprobado que se ejecuta en el scheduler mirando los logs), pero los cambios que hace en la base de datos no persisten con lo cual es cómo si no hiciera nada. ¿Qué tendría que añadir y dónde para que estos cambios persistieran? Al ser una base de datos local con SQLite3 no hay usuario ni contraseña ni nada de eso (por si sirve de algo).

Adjunto los jobs:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from main.matchesByDate import dimeQuePasaraHoy, matchesByDay
from main.auxiliar.createDataset import updateRanking
from datetime import datetime
from django.apps import apps
from django.db import transaction
import os
 
Player = apps.get_model('main', 'Player')
 
def load_matches():
    transaction.set_autocommit(False)
    today = datetime.now().date()
    dimeQuePasaraHoy(matchesByDay(str(today)))
    transaction.commit()
 
def update_rankings():
    transaction.set_autocommit(False)
    players = Player.objects.all()
    updateRanking(players)
    transaction.commit()
    #os.system("python manage.py migrate")

Si alguien me pudiera ayudar lo agradecería. Podría proporcionar más fragmentos del código si fuese necesario.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder