Print Queue Monitoring

Rob Camilleri

Member
We have just upgraded our XE install to SQL/Intel and are setting up all alerts using Microsoft’s MOM. We are having difficulty with the alert required for managing our “Printer Queue Error”. Normally application specific scripts would ship with vendor management packs (Providers used within MOM which contain rules, monitors and scripts relevant to managing specific product) but unfortunately there is no management pack for JDE which means some development is required. Is there any way to determine the “state” of a print queue ?
 
As far as I know there is no JDE "Print Queue" per se. There are printer definitions that map to OS-specific printer references. In the case of your platform this would be a UNC formatted printer resource name e.g. \\PRINTERSERVER\FINANCEPRINTER. I don't know of any MOM awareness in JDE. What would a JDE management pack if it existed actually manage or monitor in relation to physical printer queues?
 
Thanks for the reply. I actually meant Job Queue so we'd be checking that it hasn't stopped for some reason.
 
Rob,

I have done something along these lines - homegrown of course.

I have an update trigger on the F986110 table that raises various alerts that will net send and email when a job ends in error, a job is put on hold, etc.

I also have a scheduled stored procedure that alerts me when a job has been waiting or running longer than a specified period of time - mine is in hours.

But that could be extended to look for all types of various scenarios. It all depends on what you are attempting to monitor.

Dave Schlieder
 
Sure, that is clear to me now.

As Dave mentioned, monitoring recent activity or lack thereof on the F986110 is one way to go. Jobs going to error don't necessarily mean a problem with the queue process itself. In fact typically the jdequeue process will need to be running and healthy for a job to go into error in the first place. If the queue process for a particular queue is not running jobs will just stay in "W" status. If you expect activity during certain times of the day perhaps you could monitor for lack of activity. There are all sorts of things you can accomplish with a DB trigger on the F986110 as well. Monitoring for long running jobs is a another good one. I think it comes down to what you are trying to monitor - the health of the queue processes or the behavior of the submitted jobs themselves.

Under your release each logical job queue is managed by a dedicated windows "jdequeue" process. (This architecture has changed in E1) At an OS level you could monitor these processes with MOM by monitoring process instance creation and deletion. But actually identify what windows process is associated with what queue is not straightforward. The OneWorld Queue name is passed to the jdequeue process on the command line. I have created a dll that will fetch this information using process injection. It is not something I would generally put into production though. I have not worked much with MOM so I don't know if there is a way to fetch this command line information using some built-in MOM function. I think that Windows Data Center edition can inspect the process command line and your can do things upon process birth and death. Of course there would be the data center edition price tag to contend with.
 
Monitoring the job queues, one quickly realises, is vital to not having the helpdesk phone ring all day. We have a homegrown web display using HTMLDB/Apex. It shows the overall level of jobs with a status >E (wait, processing, hold, In queue). It also has a detailed view that shows what precisely is going on. It polls a view on the F986110 every 10 seconds which is a bit brutal but not too punitive.
 
Back
Top