Beam 2.1管道在有状态DoFn中使用ValueState。它可以与单个工作程序一起运行,但是当启用扩展时将失败并显示“无法从状态读取值”和下面的根异常。有什么想法会导致这种情况吗?
Set App = CreateObject("Illustrator.Application")
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim SourceFolder, DestFolder, NewState, NewSection
Call GetNewInputs()
Sub GetNewInputs()
NewState = UCase(InputBox("Current STATE or REGION to be processed.", _
"STATE or REGION", "SOCAL"))
NewSection = ("Section_" & InputBox("INPUT SECTION NUMBER: Section_YY", _
"Input Section", "32"))
Set SourceFolder = FSO.GetFolder("S:\" & NewState & "\" & NewSection & "\Road DXFs")
DestFolder = "S:\" & NewState & "\" & NewSection & "\Light TIFFs\"
End Sub
App.DoJavaScript("function test(){var doc = app.activeDocument;var destFile = new File(""/s/" + <%=NewState%> + "/" + <%=NewSection%> + "/Light TIFFs/SOCAL_CN68_resx.tif"");var type = ExportType.TIFF;var opts = new ExportOptionsTIFF();opts.imageColorSpace=ImageColorSpace.GrayScale;opts.resolution=72;opts.antiAliasing=AntiAliasingMethod.ARTOPTIMIZED;opts.IZWCompression=false;opts.saveMultipleArtboards=true;opts.artboardRange=""1"";doc.exportFile(destFile, type, opts);}test();")
MyDoc.Close(2)
答案 0 :(得分:3)
我认为异常应该重新抛出。状态机制抛出它表示不应该执行该键的其他工作,并且将由Dataflow运行程序自动重试。
这些通常表明应该对不同的工作人员执行该特定工作(因此继续进行并不会有帮助)。
有可能误用状态 - 从一个密钥存储状态对象并尝试在另一个密钥上使用它 - 也可能导致这些错误。如果是这种情况,您可以在Stackdriver日志记录中的worker或shuffler日志中看到更多诊断消息。
如果既没有重试也没有查看日志记录以及如何使用状态对象帮助,请提供证明问题的作业ID。