Cancelling and Re-Queueing a job in a JobFilterAttribute

Hi All,

I have a requirement in a multi-tenant web app to always have as many jobs from different clients running at the same time.

Say Client One has queued 100 jobs, and Client Two then Queues 10 Jobs, I have X number of workers that run parallel. I would like to check to see if any other jobs are running from that account, based upon an account id passed in as a parameter of the action, and cancel the job and then re-queue it if it finds any other client ids in the arguments of waiting jobs.

Would I be capable of doing this in a JobFilter, and if so, which of the filters would it best in?