Clayton Krause

9krausec

About Me

Expertise
Not Specified
Location
Not Specified
Website

Connect

Recent Forum Posts

Feedback Loop - Dynamic Partitioning May 20, 2020, 8:04 p.m.

Thank you Taylor. I followed the documentation and set HDA Processor TOP node from “Report Error” to “Report Warning”.

The obj is being created by a Python Script TOP call to a third party software. So the obj is not being copied, it is being created.

Perhaps before the OBJ is actually saved out, the HDA Processor (which is a downstream item that ingests the OBJ) is trying to call upon the not yet existing OBJ. Perhaps I need to add a slight sleep delay right after the OBJ is generated to give it enough breathing room.

I'll run the batch test overnight and let you know tomorrow how it turns out.

Thanks again.

Feedback Loop - Dynamic Partitioning May 20, 2020, 12:19 p.m.

Thank you for the reply.

In the actual production scenario it's an HDA Processor TOP that is raising the following error when attempting to read in an OBJ file-

Error: Unable to read file "SCREW;HH;;GB-5782(M10-1.5 x 45).obj". Expected array object (near byte offset 1, line 1, column 2)
The error appears to happen inconsistently throughout the TOPs operation and the OBJs that the system hangs up on open fine via the File SOP, outside of TOPs. I did put in a support ticket this morning for the ‘Expected array object’ error on a seemingly perfectly good OBJ ( Side Effects Support Ticket: #91349 ).

I was able to bypass any raised errors caused by the Python Script by using a Split top to bypass the other TOP nodes in the loop in case of error (which seems to work well enough).

I'll attempt pointing the HDA Processor to a different scheduler for appropriate error handling to see if I can gain access to a hook to tell the system to split out the stream on error, like I've done in the past with the Python Script TOP. Thank you for that advice.

I'll give it a try today and run the TOPs process overnight for a stress test. Again, thank you.

Feedback Loop - Dynamic Partitioning May 18, 2020, 11:50 a.m.

A bit of a pickle here. Example attached.

I need to loop over each work_item one-by-one using a feedback loop, respecting work item order.

When “Use Dynamic Partitioning” for the Feedback loop is turned “off”, order is respect, but if one work_item fails, the entire loop fails.

When “Use Dynamic Partitioning” for the Feedback loops is turned “on”, order is NOT respected, but if one work_item fails, the loop continues regardless.

What I'm hoping to have is respected order of the work_items, but if one work_item fails, to have the loop continue regardless (simplified example attached). The “production” scenario described below.


Production Scenario:

Each work_item is responsible for initiating a subprocess (with arguments specific to the work_item) of a program that can only have one instance running at a time. After the work_item is done with the subprocess, the subprocess is completely shut down and the next work_item restarts it.

So with two work_items in the loop, it'd go…

work_item_0 - Open subprocess
work_item_0 - Close subprocess
work_item_1 - Open subprocess
work_item_1 - Close subprocess


I'd like to do this all without crashing the loop if one work_item fails with a raised dependency error. Thank you for any help!