Motivated by cyclic scheduling in the presence of random machine failures, this paper studies the following queueing system. A single server serves customers from n classes who arrive in a cyclic manner: after the arrival of a customer from class i, the next arriving customer is from class i + 1 (modulo n). The interarrival times between classes and the service times may have different distributions for different classes. All service times and interarrival times are independent of one another. Arrivals form a single queue and the service discipline is first-come first-served. This paper presents an algorithm that finds the waiting time distribution for each customer class under the condition that all service times have rational Laplace transforms. A variety of examples are presented. Exponentiality of the waiting time under heavy traffic is proven.