Temporal workflows are becoming increasingly important in many real-world applications. In such workflows, activity durations and times are specified and it is necessary to ensure both at design time and run time that temporal constraints are not violated. However, in real-time workflows, such as in a medical process or emergency situations, some violations are unavoidable. Hence, a more nuanced view of violations should be taken. Here we introduce the notion of controlled violations as the ability to monitor a running process and develop an approach based on constraint satisfaction to determine the best schedule for its completion in a way so as to minimize the total penalty from the violations. The violations are evaluated in terms of metrics like number of violations, delay in process completion, and penalty of weighted violations. We also relate our work to the concept of controllability in literature and show how it can be checked using our method. Finally, the expressive power of our approach is discussed.