Verint Job keep leaving "Running since ..." ghost job entries after successful execution

This issue is related to a private support ticket #1160782

Introduction

- We had implemented multiple custom Verint Jobs for a extension called Video Manager, this extension is intended for managing and processing multiple videos on Verint instance

- This extension have two primary job that handles processing videos on server VideoManagerContentCheckJob and VideoManagerJob

- VideoManagerContentCheckJob - is running once a day + once at server restart, it re-checking all content on server for unprocessed video and schedules them for processing

- VideoManagerJob - is running every 1 minute to check is there any video scheduled for processing, if there no video it exits immediately

Server info:

- Verint version 11.1.8.16788

Issue

1. On server launch, as scheduled VideoManagerContentCheckJob perform checking of all videos on server

2. We have very detailed event logging that shows that main method of this job Execute(...) is exiting successfully 

3. After job is finished, very frequently, we keep seeing VideoManagerContentCheckJob in a list of active job, that stay there marked as active forever

4. Server restart is not helping to get rid of them, and new fake active items keep appearing

4.1. We can be totally sure that this active Job are "ghosts" because we have detailed log that shows that main job method is exiting and we have a named mutex lock inside every Job runs that will prevent multiple job instance to run in parallel

Screenshot from Job administration panel, all of these Job are actually not active and was finished successfully long time ago

Parents
No Data
Reply
  • Our other job is doing processing exactly in that way, it processing new content as it being created

    But as I said, this approach doesn't handle cases when plugin was turned off for some period of time

    That's why we are need for doing full content re-check from time to time

    Also multiple instances of job was never the issue for us, only we was controlling that only 1 job was starting, the issue was that job scheduler doesn't mark exited jobs as done

Children
  • Former Member
    +1 Former Member in reply to Eugene Shulga (SE)

    Do the Job Server logs contain both "[STARTING] ..." and "[FINISHED] ..." entries for the job? 

    Does the issue (not marking exited job as done) still occur if the job is coded syncronously?

    You may also be running into issues with your implementation of tasks. Task.WaitAll combined with Task.Factory.StartNew will produce unexpected results if those Tasks also spawn Tasks. While we still recommend syncronous pattern, you could test with Task.Run instead.