We consider a problem of {\em repeatedly} scheduling $n$ jobs on $m$ parallel machines. Each job is associated with a profit, gained each time the job is completed, and the goal is to maximize the average profit per time unit. Once the processing of a job is completed, it goes on {\em vacation} and returns to the system, ready to be processed again, only after its vacation is over. This problem has many applications, in production planning, machine maintenance, media-on-demand and databases query processing, among others. We show that the problem is NP-hard already for jobs with unit processing times and unit profits, and develop approximation algorithms, as well as optimal algorithms for certain subclasses of instances. In particular, we show that a preemptive greedy algorithm achieves a ratio of $2$ to the optimal for instances with arbitrary processing times and arbitrary profits. For the special case of unit processing times, we present a $1.67$-approximation algorithm for instances with arbitrary profits, and a $1.39$-approximation algorithm for instances where all jobs have the same (unit) profits. For the latter case, we also show that when the load generated by an instance is sufficiently large (in terms of $n$ and $m$), any algorithm that uses no intended idle times yields an optimal schedule.