Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何在apache beam/Dataflow python批处理作业中设置处理超时?_Python 3.x_Google Cloud Dataflow_Apache Beam - Fatal编程技术网

Python 3.x 如何在apache beam/Dataflow python批处理作业中设置处理超时?

Python 3.x 如何在apache beam/Dataflow python批处理作业中设置处理超时?,python-3.x,google-cloud-dataflow,apache-beam,Python 3.x,Google Cloud Dataflow,Apache Beam,我目前正在使用stopit库设置批处理作业中每个元素的处理超时。这些作业在direct runner上工作,我能够超时耗时太长的函数 为批处理作业设置每元素进程超时的方法是什么 是否有一种方法可以使用触发器为数据流批处理作业设置处理超时 我的用例是从文本中提取命名实体。如果正在处理的文档太长,NER过程有时会花费太长的时间 最好摆脱这种依赖关系,转而使用beam本机解决方案。根据我的理解,问题的答案是及时处理,同时保持状态。 假设您有一个函数f,并获得将使用该函数的任何批的输出。 因此,基本上,

我目前正在使用stopit库设置批处理作业中每个元素的处理超时。这些作业在direct runner上工作,我能够超时耗时太长的函数

为批处理作业设置每元素进程超时的方法是什么

是否有一种方法可以使用触发器为数据流批处理作业设置处理超时

我的用例是从文本中提取命名实体。如果正在处理的文档太长,NER过程有时会花费太长的时间


最好摆脱这种依赖关系,转而使用beam本机解决方案。

根据我的理解,问题的答案是及时处理,同时保持状态。 假设您有一个函数f,并获得将使用该函数的任何批的输出。 因此,基本上,我们必须在收到批次后标记批次(更新状态),我们将设置计时器,根据可设置的水印/到期时间更新输出,如果有任何输出,我们将收到它,如果我们没有根据您的查询从函数中获得任何输出,我们肯定可以重新路由该批次

这不是一个精确的解决方案,但可以解决

为了更好地理解,您可以在此处阅读:

根据Apache Beam文档,您可以将waituntilfinish()方法与或一起使用。使用此方法可以定义管道将超时的时间量。这就是您要查找的吗?我要查找的是每个元素的进程超时,而不是整个管道超时。我也更新了问题,以澄清这一点。谢谢你的建议!你能举例说明你在做什么,为什么要为每一个元素设定一个时间吗?因此,我可以更好地理解并帮助您。在每段文本上运行NLP提取管道,代码的执行时间取决于文本。对于特定的文本,我正在使用的NLP库可以运行得非常慢,我想终止运行缓慢的提取,并在另一台机器上重新处理它们。有趣的是,感谢上次我检查时分享我认为只有流作业才支持及时处理。看起来它可用于流媒体。我以后再调查。