This paper studies a multiple-recipe predictive maintenance problem with M/G/1 queueing effects. The server degrades according to a discrete-time Markov chain and we assume that the controller knows both the machine status and the current number of jobs in the system. The controller's objective is to minimize total discounted costs or long-run average costs which include preventative and corrective maintenance costs, holdings costs, and possibly production costs. An optimal policy determines both when to perform maintenance and which type of job to process. Since the policy takes into account the machine's degradation status, such control decisions are known as predictive maintenance policies. In the single-recipe case, we prove that the optimal policy is monotone in the machine status, but not in the number of jobs in the system. A similar monotonicity result holds in the two-recipe case. Finally, we provide computational results indicating that significant savings can be realized when implementing a predictive maintenance policies instead of a traditional job-based threshold policy for preventive maintenances.