1

我是 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 脚本吗?

4

1 回答 1

0

Crontab 是一个非常好的工具,用于安排您希望在特定时间或重新启动时重复运行的任务。crontab -e允许当前用户编辑他们的 crontab 文件。例如,

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

假设用户已登录,将在每天 18:30 运行“example.py”。假设用户已登录,该程序将以它所在的 crontab 文件的权限运行。Crontab 非常易于使用/编辑,完全可靠并且我个人用于在我自己的服务器上安排任务。

于 2019-05-07T15:35:11.210 回答