A demand response setup is considered entailing a set of appliances with deferrable and non-interruptible tasks. A mixed-integer linear programming model for scheduling the operational periods and power levels of the appliances is formulated in response to known dynamic pricing information with the objective of minimizing the total electricity cost and consumer dissatisfaction. A scalable algorithm yielding a near-optimal solution is developed by enforcing a separable structure, and using Lagrangian relaxation. Thus, the original problem is decomposed to per-appliance subproblems, which can be solved exactly based on dynamic programming. The proximal bundle method is employed to obtain a solution to the convexified version, which helps recovery of a primal feasible solution. Numerical tests validate the proposed approach.