Crontab и PgAgent для запуска скрипта Python - PullRequest
1 голос
/ 07 мая 2019

Я новичок в Postgre, и у меня есть этот скрипт Python, который конвертирует мой файл Excel в фрейм данных PD. После этого данные отправляются в мою базу данных PostgreSQL.

..... 
engine = create_engine('postgresql+psycopg2://username:password@host:port/database')

df.head(0).to_sql('table_name', engine, if_exists='replace',index=False) #truncates the table

conn = engine.raw_connection()
cur = conn.cursor()
output = io.StringIO()
df.to_csv(output, sep='\t', header=False, index=False)
output.seek(0)
contents = output.getvalue()
cur.copy_from(output, 'table_name', null="") # null values become ''
conn.commit()

...

Я бы хотел, чтобы скрипт запускался ежедневно с помощью crontab или задания PgAgent. В настоящее время у меня есть база данных на локальном компьютере, которая будет позже перенесена на сервер. Как лучше всего планировать задачи, которые я буду использовать позже на онлайн-сервере? Кроме того, могу ли я запустить расписание PgAgent для запуска скрипта Python?

1 Ответ

0 голосов
/ 07 мая 2019

Crontab - очень хороший инструмент для планирования задач, которые вы хотите запускать повторно в определенное время или при перезапуске. crontab -e позволяет текущему пользователю редактировать свой файл crontab.Например,

30 18 * * * python ~/Documents/example.py

будет запускать «example.py» каждый день в 18:30, предполагая, что пользователь вошел в систему. Программа будет работать с правами чьего-либо файла crontab, если они зарегистрированы.в. Crontab очень прост в использовании / редактировании, абсолютно надежен и используется лично для планирования задач на моем собственном сервере.

...