使用 Prefect 时清理 ~/.prefect/pg_data/
Cleaning ~/.prefect/pg_data/ when using Prefect
我正在使用 Prefect 来自动化我的流程(python 脚本)。一旦 运行,一些数据被持久化到 postgresql 数据库,问题是 pg_data 的大小迅速失控(~20Gb),我想知道是否有办法减少数据量存储到 pg_data 当 运行 代理或有自动清理目录的方法时。
在此先感谢您的帮助,
最佳,
基督教徒
我假设您正在 运行ning Prefect Server 并且您想要清理底层数据库实例以保存 space?如果是这样,您可以通过多种方式清理 Postgres 数据库:
- 您可以手动删除旧记录,尤其是流 运行 table 中的日志,使用 SQL、
中的 DELETE FROM
- 您可以自动执行相同的操作,例如一些用户有一个实际流程 运行 按计划从数据库中清除旧数据,
- 或者,您可以使用 Postgres 的开源 pg_cron 作业调度程序来安排此类数据库管理任务,
- 您也可以使用 GraphQL 执行相同操作:您需要使用
flow_run
查询查询“旧”流 运行 的流 运行 ID,然后执行delete_flow_run
突变,
- 最后,为了更加积极主动,您可以减少生成的日志数量,方法是通常记录较少(仅记录需要的内容)并将日志级别设置为较低的类别,例如不要在代理上使用 DEBUG 日志,切换到 INFO 应该会显着减少数据库中日志消耗的 space 量。
我正在使用 Prefect 来自动化我的流程(python 脚本)。一旦 运行,一些数据被持久化到 postgresql 数据库,问题是 pg_data 的大小迅速失控(~20Gb),我想知道是否有办法减少数据量存储到 pg_data 当 运行 代理或有自动清理目录的方法时。
在此先感谢您的帮助,
最佳,
基督教徒
我假设您正在 运行ning Prefect Server 并且您想要清理底层数据库实例以保存 space?如果是这样,您可以通过多种方式清理 Postgres 数据库:
- 您可以手动删除旧记录,尤其是流 运行 table 中的日志,使用 SQL、 中的 DELETE FROM
- 您可以自动执行相同的操作,例如一些用户有一个实际流程 运行 按计划从数据库中清除旧数据,
- 或者,您可以使用 Postgres 的开源 pg_cron 作业调度程序来安排此类数据库管理任务,
- 您也可以使用 GraphQL 执行相同操作:您需要使用
flow_run
查询查询“旧”流 运行 的流 运行 ID,然后执行delete_flow_run
突变, - 最后,为了更加积极主动,您可以减少生成的日志数量,方法是通常记录较少(仅记录需要的内容)并将日志级别设置为较低的类别,例如不要在代理上使用 DEBUG 日志,切换到 INFO 应该会显着减少数据库中日志消耗的 space 量。