1. A method for dynamically shifting compute workloads among data center sites based on real-time energy costs, the method comprising: evaluating via a processing unit a compute processing task of a compute workload that is capable of being relocated to determine a potential energy consumption needed in watts and a length of time needed to perform the compute task; determining for each of a plurality of available data center sites respective energy prices per watt of energy provided by the sites and time durations for each of the respective energy prices, via the processing unit; and relocating via the processing unit the compute task to a second data center site of the plurality of data center sites having a lowest energy price from a first of the data center sites that the compute job is assigned to if: a total cost to relocate the compute job to the second site and complete the compute job at the second site energy price is lower than a cost to complete the compute job at the first site energy price; the second site time energy price duration is long enough to complete the compute task if moved to the second site; and the compute job workload of the first site will remain stable for a minimum required thrashing prevention threshold amount of time after moving the compute job to the second site; or moving the compute job to the second site will not exceed a specified threshold maximum number of moves for the compute job.