1

在这里,我有 2 个问题。

  1. 我需要运行一个 aiohttp 会话,该会话应同时向不同的 url 发出多个请求并下载多个文件并返回磁盘上这些文件的绝对路径列表。该列表应传递给另一个异步函数。

有没有办法在 dagster 作业中运行“async def”函数并构建异步管道?

  1. 事实上,上述列表的长度可能因情况而异。每个文件都需要长时间而繁重的处理,并且由于处理阻塞(不幸的是),因此无法使其异步。因此,唯一的方法是在单独的线程或进程中启动此类处理,或者(就像我们所做的那样) - 在不同机器上的单独 docker 容器中启动此类处理。

dagster 是否可以使用操作动态创建 docker-containers,从它们返回任何输出并在容器退出时杀死它们中的每一个?

4

1 回答 1

1

dagster 支持在运行时动态创建操作并在其自己的容器中运行每个操作。您可以在此处阅读有关动态映射的信息:https ://docs.dagster.io/concepts/ops-jobs-graphs/jobs-graphs#dynamic-mapping--collect

您可以使用执行器配置您的工作,让它在自己的容器中运行每个操作:https ://docs.dagster.io/deployment/executors#executors(如果您正在运行,有一个 docker_executor 非常适合在 Docker 上,或者 k8s_job_executor 如果你在 Kubernetes 上)。

于 2022-01-19T15:37:12.107 回答