问题标签 [prefect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - 在 Prefect 中,是否可以在流程运行期间缓存任务值?
我有一个使用.map()
; 因此,我“循环”了多个输入,但是一些输入我只需要生成一次,但我注意到我的流程不断重新生成它们。
是否可以在运行期间缓存/检查任务的结果(用于其他任务)?
我的理解是可以缓存特定的时间,如下所示:
但是,如果运行时间少于cache_for
时间,缓存是否仍会保留下一次运行(如果不是,我猜长时间缓存会起作用)。
etl - 如果特定任务失败,是否可以终止流程?
我的流程很长,我想将其状态标记为Failed
特定任务失败。
我在这里阅读了文档,但是他们似乎没有指定这种情况。我的猜测是我需要在@task()
装饰器中以某种方式具体说明这一点,但我不知道如何。
非常感谢任何指导。
python - 使用 Prefect 拆分任务
我需要创建一个可以使用此工作流处理任务的批处理:
- 任务 #1 处理输入数据并返回列表列表。
- 任务 #2 从任务 #1 接收列表,并返回列表列表。
- 任务 #3 从任务 #2 接收列表,并返回列表列表。
- 任务#4 从任务#4 接收列表并处理列表中的数据。
例如,任务 #1 返回[[],[],[],[]]
. 这意味着流程必须并行运行 4 个任务 #2。每个任务 #2 返回[[],[],[]]
. 现在我们必须有 4x3 任务 #3。然后任务 #3 返回[[],[]]
。最后流程必须运行 4x3x2 任务 #4。
可以使用 Prefect Flow 吗?我尝试使用映射功能,但它似乎不支持如此复杂的工作流模式(或者我可能没有正确使用它)。
当我运行流程 task1 返回正确数量的列表。然后 flow 创建了 4 个 task2,每个 task2 返回三个列表的列表。但是,流程并没有创建 12 个 task3,而是只创建了 4 个。每个 task3 接收 4 个列表的列表,因为它是使用 task1 而不是来自 task2 的 1 个列表创建的。
关于如何创建这样的工作流程的任何想法?
docker - 如何在 Docker 映像上执行完美流程?
我的目标:
我有一个构建的 docker 映像,并希望在该映像上运行我的所有流。
目前:
我有以下任务在本地 Dask Executor 上运行。运行代理的服务器与执行所需的 Python 环境不同my_task
- 因此需要在预构建映像中运行。
我的问题是: 如何在 Dask Executor 上运行此流程,以便它在我提供的 docker 映像(作为环境)上运行?
我认为我需要首先在该 docker 映像上启动服务器和代理(如此处所述),但我想有一种方法可以简单地在提供的映像上运行 Flow。
更新 1
按照本教程,我尝试了以下方法:
但这创建了一个图像,然后将其上传到registry_url
提供的图像。之后,当我尝试运行注册的任务时,它会拉取新创建的图像,并且该任务现在停留在状态Submitted for execution
几分钟。
我不明白为什么它会推送图像然后拉取它?相反,我已经在此注册表上构建了一个映像,我想指定一个应该用于执行任务的映像。
python-3.x - 你能停止或增加 Prefect 的 Lazarus 进程的时间间隔吗?
Prefect 有这个Lazarus 进程,它“负责重新安排任何提交或运行的流程”。
这个问题是,如果您的重试延迟超过 10 分钟,您的流程将被 Lazarus 进程杀死。
有谁知道是否可以禁用或增加 Lazarus 进程的时间间隔以防止此类问题发生?
docker - 如何配置 Prefect 后端服务器以指向 Postgres
将 Prefect 配置为在本地运行时遇到困难。通过 pip3 安装,取决于 docker(已安装)和 docker-compose,已安装、已测试。作品。
我已经有一个正在运行的 Postgres 服务器,我喜欢配置为使用该服务器。但似乎在 docker 中也使用了一个?任何帮助表示赞赏。
运行时:
无法在本地找到图像 'docker/compose:1.27.4'
1.27.4:从 docker/compose 拉取(下载 en 开始运行 docker)
状态:为 docker/compose:1.27.4 下载更新的图像
警告:未设置 PREFECT_SERVER_DB_CMD 变量。默认为空字符串
警告:未设置 DB_CONNECTION_URL 变量。默认为空字符串
警告:未设置 POSTGRES_DB 变量。默认为空白
警告:未设置 POSTGRES_PASSWORD 变量。默认为空白字符串 >
警告:未设置 POSTGRES_USER 变量。默认为空字符串。
python - Prefect:如何基于从参数派生的任务列表强制创建任务
我正在尝试根据列表强制定义任务。挑战在于该列表应基于 Prefect 参数。
下面是我尝试过的代码,但显然它不起作用,因为 task_dependency_pairs 是一个任务,而不是一个列表。
如何在不破坏 Parameter 任务和其他动态生成的任务之间的依赖关系的情况下使其工作?
python - 关于管理完美工作流程的日志
我正在为业务应用程序使用完美的工作流程。
我对存储在 postgresql 中的日志有疑问。
如果将日常日志保存在postgresql服务器上,数据量将是巨大的。
是否有一种机制可以轮换此日志并将其写入文本文件?
另外,将postgresql表中的数据写入文本文件等后,是否可以删除对应的记录?