optimize code, use cache on job post block