Recurring job doesn't wait last triggered job to finish

I just found this project, and need to do something similar. I need a recurring process that runs every minute. However, I do not want more than one running at any one time. I’ve been playing around with this solution involving two jobs: a single recurring job (“Should_I_queue_worker”); and another job that runs immediately(“Worker”):

  1. Create a recurring job, “Should_I_queue_worker” that runs every minute.
  2. When processing, the “Should_I_queue_worker” job checks the processing queue to see if the second job, “Worker” is currently being processed. If no “Worker” jobs are currently being processed, Enqueue one. Otherwise, do nothing.
  3. The “Worker” job can run as long as necessary. As long as it shows in the processing queue, another will not be queued.

It certainly isn’t bulletproof, but in my testing it fulfills my needs - until this feature becomes available.