Update:  The Vault 2012 version of this app is now available.

Q-Tools for Autodesk Vault is my attempt to fix job server issues that I have heard about or experienced myself.  The utility is a Windows service that contains various features that you can turn on or off depending on how you want to use the job queue.  It's best if I just talk about the features themselves.

Feature – Logging
Q-Tools logs everything it determines is an "issue".  You have some flexibility on defining what an issue is.  More on that later.
If you are in a multi-site environment, Q-Tools will provide a single log for all queues. Logging is the only feature that you can't turn off.

Feature – Stale Job Detection
If a job has been on the queue for a long time, you can set Q-Tools to consider this an issue.  A lot of times these "stale jobs" mean that there is an issue with the job processor or a client queued jobs that have no handlers.

Feature – Email Reports
You can configure Q-Tools to send out an email, listing all the issues it detected. 

Feature – Queue Cleanup
If there is an job on the queue in the error state, Q-Tools can automatically log and delete it for you.  You can configure it so that only certain job types get cleaned up this way.

Feature – Queue Forwarding
In a multi-site environment each site gets its own queue.  If you would rather have one queue for all sites, Q-Tools can make this happen by letting you designate a "central queue".  All jobs from other queues are forwarded to the central queue. 


Requirements:
– Vault Workgroup/Collaboration/Professional 2011
– Job Server feature enabled

Click here to download the application
Click here to download the source code


To setup:

  • Designate a computer on the network that the Q-Tools service should run on.  Only 1 Q-Tools can be running for a given Vault deployment.
  • Run the installer.
  • Go to the installation folder and update the settings.xml.  The XML comments will explain this step.
  • Run the Q-Tools service.

As with all the samples on this site, the legal disclaimer applies.


Comments

10 responses to “Q-Tools”

  1. Stefan Avatar
    Stefan

    I badly need to use your q-tools, i need to redirect all jobs in an replicated environment to the main site, i get an error thou when trying to do so, any suggestion on what might cause this error? (i see the error code and it suggests duplicate jobs in que but i can’t figure out why this happens, all my jobs has an uniqe guid etc). q-tools is installed on the main site.

    My error from the log:

    Exception thrown
    System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: 237
    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
    at Autodesk.Connectivity.WebServices.JobService.Invoke(String methodName, Object[] parameters)
    at Autodesk.Connectivity.WebServices.JobService.AddJob(String type, String desc, JobParam[] paramArray)
    at Q_Tools.QToolsService.Reroute(List1 allJobs, Site currentSite, JobService currentJobSvc, Site centralSite, List1 issues)

  2. Stefan Avatar
    Stefan

    maybe i should mention that this is an non connected replication, only one database.

  3. That might be the problem. I designed this tool for a multi-workgroup environment, but never tested on a singe-workgroup, multi-site environment.
    Since the Add happens before the Delete, that could explain the problem.
    You will need to fix the code to get it to work. I can think of a couple of ways to fix this:
    – Do the Delete first before the Add (see the Reroute function in QToolsService.cs). However you run the risk of losing the job during a failure.
    – Add a dummy parameter to the job. This will be enough to prevent error 237. However you are assuming that the job handlers don’t mind extra dummy parameters.

  4. Stefan Avatar
    Stefan

    Thanks Doug, i have edited the code and is now up and running.
    Another question about this set of tools if is there is any setting i can make to prevent q-tools resubmitting error jobs to the que? Can’t find any setting for this. Is it possible?

  5. Stefan Avatar
    Stefan

    I did some modification in the source code and removed the resubmit of error jobs.
    Maybe this should be a setting if you migrate this tools in the future.

  6. I just want to be clear on what the problem is. You have an error job and it gets routed to the central queue? You would prefer it just get deleted from the original queue?

  7. Stefan Avatar
    Stefan

    No, all my jobs gets routed to the central que. After that some jobs may raise errors, then q-tools keeps on resubmitting thoose jobs over and over again (even thou they are alredy in the central que).
    This is not what i wanted in this case, i want the user to read the error in the job-que dialog and take action manually. But, as i said i fixed it in your code so that it fits my needs. For the future maybe this behavior should not be default.

  8. I think I see what is going on. Q-Tools can’t distinguish between jobs on the local site and jobs on a remote site. Therefore it tries to re-route jobs that have already been rerouted.
    The best fix I can think of is to add a new parameter when re-routing a job. Next update the code so that Q-Tools doesn’t re-route a job that has the property on it. The result is a guarantee that a job won’t get rerouted more than once.

  9. Doug, Is there plan to migrate the app for Vault 2014 or is it already fully compatible?

  10. I’m not planning on updating it for 2014. Since it’s not a plug-in, the 2013 version should still work in 2014. But I haven’t tested.

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading