Our Windchill CAD Worker does seem to have a habit of failing at regular intervals. Whilst it is easy to rectify the problem, it can be a major inconvenience if you do not quickly discover the failure. The delay can often result in thousands of jobs that need to be resubmitted and a knock on effect with new jobs also being delayed whilst the backlog is cleared.
So for sometime I have been trying to develop a notification tool that will "push" a notification to me by email as soon as the CAD Worker fails. After limited success with custom scripts, I stumbled across a ready-made solution in Windchill that was right under my nose. So just in case any other forum members have been struggling with the same problem, here is my solution.
I have discovered that you can in fact setup a Windchill subscription on an entire product context that will detect when the CAD Worker fails on a CAD document. The beauty of this is that you can easily manage the circulation list for notification, you can also have different notifications on a product-by-product basis and have the notification delivered according to a schedule.
I’ve outlined the method below, just in case you are interested in giving it a go yourself.
All comments welcome.
This is impressive Tim and thanks for posting. I've been using subscriptions to nofity on failed publishes for a while now, but it has only been on specific dataset from the search results table. I'll be curious to know if you have any performance issues.
Thanks for the reply. It's early days but so far there has been no noticeable hit on performance. The net effect is no more than any other subscription, which in my opinion is negligible. I guess it would however be sensible to minimise the number of subscriptions on entire product contexts, and I would strongly suggest scheduling the email (otherwise you could get hundreds of emails if you are not at hand to deal with it when it goes down).
I will post on this thread more details the next time we get a major CAD Worker outage. I'll give you more feedback on performance then.
Just to add to my previous reply. I have elected to setup a subscription on just one very active live product. We only have one CAD Worker, so I only need to sample one busy product to get a quick notification of problems. The procedure can also be used on a folder instead of a product. Again this might be all that is needed to get a heads up that your CAD Worker has crashed.
Commenting to bump this valuable information up. Tim this is exactly what I needed and have been trying to get from PTC but no one seemed able to provide. Thank you very much!
Windchill 11.0 M030
Hey just curious on why you have only one worker? Is it Creo licensing or that's just all you need? Did you know that you can use only one licence and set up a publisher with alias and have multiple workers on that machine only using one Creo license?
That's an interesting point. I wonder if it also works for Inventor? We have Inventor and two CADworkers.
The problem seems to be that we have an office in Italy that is checking in hundreds of new CAD objects a day (they are migrating a huge new Product) and the heavy impact is causing the workers to hang up from time to time (generally a CAD object problem) and I just want a notice so I can get them reset and going.
The annoying part would be if they caused it to hang early in their morning and I didn't notice till halfway through MY day, it would have been down for hours and the READY queue would be backed up a couple thousand parts.
Once we are past the hump, things should be more stable. But I think I'll leave this subscription in place anyway, I like to be informed of any problems.
Windchill 11.0 M030 CPS08
WGM 11.0 M030 CPS14
Inventor Pro 2018
We used to have a lot of problems with CAD workers quitting. Completely solved by checking to restart after xx jobs, with helper restart (configured in the .rcp file). We have it set to every 20 jobs now. Especially solves problems with SolidWorks.
I can confirm what Mike just wrote.
The xtop.exe process continues to grow every time Creo loads a model or an assembly to publish it.
Restarting it from time to time, especially if large assemblies are published, prevents the memory of the cad worker from being reduced to a minimum or even saturated, with obvious effects on its functioning.
Another thing that should be added in the command that start the cad worker, is the killing of the xtop process that can remain opened in case of a crash during publication, with the concrete possibility of having more than one process running.
This is nice but I have one question.
Since it notifies you of failed jobs only then it's assumed the job has started. But if the CAD worker is down on the server side the job won't start in the first place. Which means there is no successful OR failed job and therefore you will not be notified. Am I correct in this or will it still send an email notification? If the CAD worker is down then the job is held in the queue and is set as Ready.
No it will still send you a notification. The WVS has no knowledge of the CAD Worker status and will not hold the the job in a Ready state. The job will still be submitted and then when it calls the CAD Worker to load the file it will report that no active worker could be found. I have tested this and it is 100% reliable.
We also implemented notifications through the ACLs and we got the notifications.
But we are getting messages in the email summary as (VISUALIZATION PUBLISH NOT SUCCESSFUL event on wt.doc.WTDocument) and the below table is the body of the email.
VISUALIZATION PUBLISH NOT SUCCESSFUL
we have to change the summary of the email to the object name and number as per the Target Identity field can you see the above table.
Can you please provide the steps to how to get that result in the summary?