>>bo0tzz+(OP)
What a strange design. If a job is dependent on an extant transaction then perhaps the job should run in the same code that initiated the transaction instead of a outside job queue?
Also you pass the data a job needs to run as part of the job payload. Then you don't have the "data doesn't exist" issue.