We investigate a multi-skill technician and reassignable task scheduling problem in a cloud computing company. In the problem, multi-skill technicians are assigned to process a large number of tasks from customer requests in a certain scheduling horizon. The tasks are allowed to be reassigned to another technician multiple times, and one technician can process multiple tasks in parallel. The company not only focuses on processing efficiency, but also expects to improve customers’ experience and technicians’ satisfaction. We characterize the feasible solutions and introduce a weighted objective with three metrics: processing efficiency, response delay, and workload balance. An effective two-stage hierarchical optimization method embedded in a greedy randomized adaptive search procedure framework is proposed. In the first stage, initial solutions are generated by a greedy randomized construction procedure, and then improved by local search with an ejection chain operator to optimize processing efficiency. In the second stage, two local search procedures with five operators for improving response delay or workload balance are designed. Computational experiments are conducted to evaluate the effectiveness of our algorithm. The results show that the proposed algorithm is competent in fast computing a schedule of high quality. It also reveals that reassignments are helpful in reducing response delay and balancing workloads in the scheduling.