How do I clear a stuck 'Pending' or 'Running' Task?

Introduction

Under certain rare circumstances such as a system crash, abnormal termination of the Urchin Scheduler, or killing a running task, it is possible that an Urchin task will be left with a status of Pending or Running when it is not actually in any of those states. This prevents the associated Profile from being run either with the Run Now button or by the Urchin Scheduler.

Procedure

In this situation, the uconf-driver utility can be used to clear the status of the Task and allow it to be run again. This utility can only be run from a command line shell so you will need to bring up a terminal window on a UNIX-type system or invoke a DOS shell on a Windows system. Once you have done so, change directory to the util directory in the Urchin distribution and invoke the following commands, replacing MyProfile with the actual Profile name. Note that on most UNIX-type systems you will need to put a leading "./" before the uconf-driver command and for Mac OSX, you may need to type "sudo ./" before each command.

1. In a command shell, stop the Urchin Scheduler first by typing:

[UNIX-type systems]
cd /path/to/urchin/bin
./urchinctl -s stop
cd ../util

[Windows]
cd C:\Program Files\Urchin\bin
urchinctl -s stop
cd ..\util
2. Now type the following commands in order:
uconf-driver action=set_parameter table=task name="MyProfile" cr_runnow=0
uconf-driver action=set_parameter table=task name="MyProfile" ct_runstatus=2
uconf-driver action=set_parameter table=task name="MyProfile" ct_completed=0
uconf-driver action=set_parameter table=task name="MyProfile" ct_status=1
uconf-driver action=set_parameter table=task name="MyProfile" ct_lockid=0

3. Finally, restart the Urchin Scheduler:

[UNIX-type systems]
cd ../bin
./urchinctl -s start

[Windows]
cd ..\bin
urchinctl -s start

Considerations

Be certain that Profile which you are resetting is indeed not running. Clearing the status on a Profile which is still running will confuse the Urchin Scheduler and potentially cause processing of the Profile to be re-invoked while it is still being run. This could cause corruption of the Urchin databases for that profile.