Earlier quoted context omitted.
We actually have our Chef rdiff backup cookbook randomly distribute jobs across a buckets of time using a hash function of the hostname.
I have to know: Why a hash function of the hostname?
# Generate a uniformly distributed unique number to sleep.
if node['chef_client']['splay'].to_i > 0
checksum = Digest::MD5.hexdigest(node['fqdn'] || 'unknown-hostname')
sleep_time = checksum.to_s.hex % node['chef_client']['splay'].to_i
else
sleep_time = nil
end
https://github.com/opscode-cookbooks/chef-client/blob/master...This is random enough so you won't kill the server, and deterministic so the resource isn't always changing every Chef run.