The IronPython script customtransfer.py defines the functions that provide update instructions for the producing task group and for the consuming task to obtain the output data from the upstream producer.
def consumer_update(task): container = task.InternalObject #obtain input data upstreamData = container.GetInputDataByType(InputType="MyData") fileRef = None upstreamDataCount = upstreamData.Count if upstreamDataCount > 0: fileRef = upstreamData[0] AssociateFileWithContainer(fileRef, container) ExtAPI.Log.WriteMessage("Recieved file "+fileRef.Location+" from producer.") #if no new data...nothing to process from upstream sources. def producer_update(task): container = task.InternalObject extensionDir = ExtAPI.ExtensionManager.CurrentExtension.InstallDir filePath = System.IO.Path.Combine(extensionDir, "Sample_Materials.xml") fileRef = None isRegistered = IsFileRegistered(FilePath=filePath) if isRegistered == True: fileRef = GetRegisteredFile(filePath) else: fileRef = RegisterFile(FilePath=filePath) AssociateFileWithContainer(fileRef, container) outputRefs = container.GetOutputData() outputSet = outputRefs["MyData"] myData = outputSet[0] myData.TransferFile = fileRef