Looking through the Taskmaster service log, you may find something like the following:

The 'OnReleasePrintJobCompleted' method on the job service has thrown the following exception: The LPR command did not receive an acknowledgement from the LPD server '10.9.9.214'

This means that we sent the job to the printer via LPR (Line Printer Request, a common way to move printer files to the printer for output), but the printer hasn't told Blueprint that it has finished receiving it yet. Large print jobs, especially if sent over a slower, or multi-hop, network connection, may not have finished copying over to the printer before the Blueprint LPR timeout was met. The Blueprint Secure Release Here function is preconfigured with several timeout values for different steps in the Secure Release Here workflow to protect against slow system performance (or perceived slow system performance).

Of importance during the "select the job at the terminal interface and select print" workflow are the following, taken from the Blueprint server's GlobalConfig.xml file:

    <LprConfig ConfigVersion="3.3">
      <ConnectTimeout>30000</ConnectTimeout>
      <SendTimeout>120000</SendTimeout>
      <ReceiveTimeout>120000</ReceiveTimeout>
      <UseStrictLprSourcePorts>false</UseStrictLprSourcePorts>
    </LprConfig>

In this section, the values are defined in milliseconds. Let's step through the settings here:

  • ConnectTimeout. How long the Blueprint server waits when first trying to contact the LPD (Line Printer Daemon) service on the printer.
  • SendTimeout. How long the Blueprint server waits for a send operation (like copying the file to the printer over LPR) to complete.
  • ReceiveTimeout. How long the Blueprint server waits  for a response (usually, an acknowledgement) from the printer.
  • UseStrictLprSourcePorts. Not a timeout, but a way to make Blueprint behave when there are devices (uncommon) that adhere to the strict interpretation of RFC 1179 which specifies a particular range of LPR ports (721-731) that can be used. You would need to contact your printer manufacturer to find out if this is the case.

Normally, it is the SendTimeout that needs the adjustment within Blueprint, because it does a lot of sending, but little receiving. The GlobalConfig.xml file maintains this setting, and is located (by default) in C:\ProgramData\PharosSystems\Blueprint in Windows 2008 or C:\Documents and Settings\All Users\Application Data\PharosSystems\Blueprint. Open it (you may need to edit it in an application launched as an Administrator) and look for the LprConfig section. Doubling the SendTimeout value will usually take care of the problem. Once the change has been made and saved, restart the Pharos Systems Taskmaster service. Note that the Blueprint server is not the only component in the chain. Every piece in the middle (especially a router) and the printer will have timeouts set for TCP send and receive operations as well, so simply modifying Blueprint may not be enough.