Let's say I have a Jenkins job which runs every 5 minutes and takes only 3 minutes to run, then the job suddenly became to take more than 5 minutes (say 8 minutes). In this case the job queue becomes full as Jenkins blocks the execution of newly added job until the already running job is finished.
I could allow concurrent execution of jobs in the queue, but I prefer that the newly added job is immediately cancelled if the last job is still running. Is this possible for Jenkins? Or should I look for more sophisticated job scheduling solutions?