Run job in transaction to avoid multiple callbacks