Introduction
When attempting to distribute documents via the Spindle Pro/Spindle Pro Auto printers, users will report that the processor window is not appearing.
The symptoms of this issue include:
- No new processor logs being generated when attempting to print
- Print jobs being stuck in the queue for the Spindle Pro/Spindle Pro Auto printers
- The Spindle Pro Printer Agent service (SPAgent) is not running
Resolution
To immediately resolve the issue, please try the following:
- Press Win + R and type Services.msc, then click OK
- Ensure that the Print Spooler service is running
- Restart the Spindle Pro Printer Agent service
- If the option to start/stop the service is greyed out, you will need to open the Services application as an administrator.
- In Printers & Scanners, select the Spindle printer used and click Open Queue
- Select all the documents within the print queue, right-click them, and click Restart
Longer term, we need to investigate the reason for the Spindle Pro Agent service stopping. This is a three step process:
1) Log the times that the service is stopping
2) Correlate this with Windows Event log to identify the cause
3) Remedy the cause
Logging the issue
We can put a command file (.cmd) in place and run it on a schedule using Windows Task Scheduler.
Create a new text file in Notepad / Notepad++ / Your choice of text editor
Copy the following into it:
@echo off set "serviceName=SPAGENT" set "logFile=C:\tmp\SPService.log" REM Update this to your desired log file path for /l %%x in (1, 1, 3) do ( REM Check if the service is running sc query %serviceName% | find "RUNNING" > nul if %errorlevel% equ 0 ( echo %DATE% %TIME% - %serviceName% is running. >> %logFile% goto exitloop ) else ( echo %DATE% %TIME% - %serviceName% is not running. Restarting the service... >> %logFile% REM Restart the service net stop %serviceName% timeout /t 5 /nobreak > nul net start %serviceName% echo %DATE% %TIME% - %serviceName% has been restarted. >> %logFile% timeout /t 60 /nobreak > nul ) ) echo %DATE% %TIME% - %serviceName% has failed to recover. >> %logFile% :exitloop
You can edit the path on line 4 to set the log file location.
Save this file with a .cmd extension to a known location on the machine:
Next, Open Windows Task Scheduler from the Start menu, and choose Create Task...
Name the Task and set it to run as an Administrator account (it will need to restart services), whether it will run if the user is logged out
Under Triggers, click New... and set the timing for the task to run. The detail of this will depend on how frequently you are finding you need to restart the service. For teh initial troubleshooting phase, you can set it to run hourly on weekdays as follows:
Under Actions, click New, and set the Action to Start a program, and browse to the cmd file you created previoulsy.
Leave the remaining tabs at their defaults and click OK to create teh task. You will be prompted for the credentilas of the account you are using to run the cmd script:
When run, the script will check to see if the service is running. If it is, it will log this to the file specified in line 4. and stop. If the service is not running, it will attempt to restart the service, wait 60 seconds and then check if the service is now running. If it is still not running, it will try twice more, waiting 60 seconds between tries before failing. All of this activity is logged with date and time stamps.
Investigate the Event Log
After a number of days, you can investigate the log file to see if/when the service has been not running. We now need to check the Windows Event log for the times referenced in the log file.
The causes of the service halting can vary depending on the environment, so once you have carried out the initial investigation as per the above, please contact Draycir Support for further advice.
Related Product | Spindle Document Distribution/Spindle Professional |
Ref Number | KBA-01-03-033 |
Document Date | 13-01-2021 |
Original Author | Matthew Perry |
Document Version | v1.3 |
Last Updated | 03-06-2024 |
Update Author | Vince Hodgson |