I want to run some python code from a remote server in order to expose the database in output of this code. Do you have an idea of what is my probleme ?
- I'm connected to the heroku posgresql apps-on and a dyno.
- My requirements.txt is ok.
- My Procfile is: worker: python ponts.py (Ive try with app)
- my heroku logs are :
2023-04-04T16:40:32.018818+00:00 app[worker.1]: ('Pont sur le torrent Nervi', None, "Maçonnerie2 arches (1 principale arc rampant), dos d'âne", 'Pont piétonnierVia Roberto Sarfatti - Via Odoardo GanduccioNervia', 'Gênes44°\xa023′\xa004,4″\xa0N, 9°\xa002′\xa000,3″\xa0E', 'Ligurie')
2023-04-04T16:40:32.018826+00:00 app[worker.1]: ('Pont Morandi (viaduc du Polcevera)', '1100', 'HaubanéTablier, pylônes et câbles béton202+208+142+73', 'Autostrada A10Route européenne 25Route européenne 80Gare de Gênes', 'Gênes44°\xa025′\xa030,1″\xa0N, 8°\xa053′\xa026,7″\xa0E', 'Ligurie')
2023-04-04T16:40:32.018827+00:00 app[worker.1]: ('Viaduc de Bisagno', '593', 'Poutre-caissonBéton précontraint', 'Autostrada A12Route européenne 80Bisagno', 'Gênes44°\xa026′\xa004,2″\xa0N, 8°\xa057′\xa026″\xa0E', 'Ligurie')
2023-04-04T16:40:32.018835+00:00 app[worker.1]: ('Viaduc de Nervi', '422', 'Poutre-caissonBéton précontraint', 'Autostrada A12Route européenne 80Nervi', 'Gênes44°\xa023′\xa033″\xa0N, 9°\xa002′\xa028″\xa0E', 'Ligurie')
2023-04-04T16:40:32.229064+00:00 heroku[worker.1]: Process exited with status 0
2023-04-04T16:40:32.269439+00:00 heroku[worker.1]: State changed from up to crashed
my python code (without the creation of the dataframe df_filtered is :
import pandas as pd
import requests
from bs4 import BeautifulSoup
import psycopg2
import datetime
# Connexion à la base de données
conn = psycopg2.connect(
host=,
database=,
user=,
password=,
port=
)
# Insertion des données dans la base de données
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS eonsight2 (nom VARCHAR(255), longueur VARCHAR(255), bridge_type VARCHAR(255), voies VARCHAR(255), localisation VARCHAR(255), region VARCHAR(255))")
for index, row in df_filtered.iterrows():
cur.execute("INSERT INTO eonsight2 (nom, longueur, bridge_type, voies, localisation, region) "
"VALUES (%s, %s, %s, %s, %s, %s)",
(row['nom'], row['longueur'], row['bridge_type'], row['voie_portee_franchie'],
row['localisation'], row['region']))
conn.commit()
cur.execute('SELECT * FROM eonsight2;') # On récupère les valeurs de la base de données
for row in cur.fetchall(): # On affiche les valeurs
print(row)
# Fermeture de la connexion
cur.close()
conn.close()
I tried to mofify the code, to modify the Procfile (ex : worker: python bridges.py, web: python bridges.py,...). I want that when I launch the application, the database is displayed.