当前位置: 首页 > 知识库问答 >
问题:

在Google DataFlow上完成管道后运行函数/管道

柳宏深
2023-03-14

我试图在Beam管道完成后,在Google DataFlow上运行一个函数(或管道)。

目前,我已经构建了一个hack来运行该函数,方法是使用

_ = existing_pipeline | "do next task" >> beam.Map(func)

... func在哪里:

def func(_):
    # do some work, and ignore `_`

但是有更好的方法吗?

共有1个答案

单于奕
2023-03-14

假设您希望该功能在您的机器上运行,而不是在云中运行,您应该这样做:

result = existing_pipeline.run()
result.wait_until_finish()
# do some work
 类似资料:
  • 我想在谷歌数据流上运行一个管道,该管道取决于另一个管道的输出。现在,我正在本地使用DirectRunner依次运行两条管道: 我的问题如下: DataflowRunner是否保证第二个仅在第一个管道完成后启动

  • 问题内容: 在groovy脚本中(用于jenkins管道):如何运行命令而不是命令? 我尝试了以下方法: 在通话中致电“ ” : 将呼叫替换为呼叫: 附加信息: 我的命令比命令更复杂。 问题答案: 您提供的Groovy脚本正在将结果脚本中的第一行格式化为空白行。shebang告诉脚本使用/ bin / bash而不是/ bin / sh运行,它需要位于文件的第一行,否则它将被忽略。 因此,您应该这

  • 我试图在管道完成后进行滞后更新,由于日期版本控制,表在运行时传入。由于此代码是作为模板执行的,因此需要使用NestedValueProviders。 如何在管道运行之外访问此值?在管道完成后,是否有更好的方法来做“只做一次”的工作?

  • 问题内容: 我正在使用以下node.js代码从某些url下载文档并将其保存在磁盘中。我想知道何时下载该文档。我没有看到使用pipe进行任何回调。或者,下载完成后是否可以捕获任何“结束”事件? 问题答案: 流是,因此您可以听某些事件。如您所说,有一个请求事件(以前是)。 有关可用的事件的更多信息,请查看流文档页面。

  • 问题内容: 我正在一个有几个无法更改的脚本的项目中。这些脚本通过AJAX更新页面。更新完成后,我需要运行一些代码。 XMLHttpRequest完成时是否会触发任何事件?(或任何XMLHttpRequest状态更改?)。 不幸的是,我无法访问用于发出请求的特定XMLHttpRequest对象。 谢谢, 问题答案: 如果没有jQuery,则可以挂钩该方法以在XHR对象被编辑时为每个XHR对象的事件附

  • 目前的问题是jenkins管道作业确实正常运行并完成。但在用户界面中,作业会一直保留,直到我们通过用户界面中止它。这似乎并不常见,可能在5%的工作中。这可能是jenkins的错误,可能是重新加载配置的问题,也可能是节点上的流量过大。我真的不确定。因为所有的“buggy”工作都有一个带条纹的进度条,这可能是一个线索。 带条纹的进度条是什么意思? 如果您对该漏洞的来源有任何其他建议,我们将不胜感激。