Usually employed when you have some expensive setup
you wish to cache.

Global Storage

Setting values in the self.global_storage dictionary allows
you to store state between all subsequently executed Jobs.

# Store the number of CPUs on this machine for later
# Jobs to use for nefarious purposes.
class CountCPUs(Job):
def Check(self, *args, **kwargs):
self.global_storage['num_cpus'] = len(
[x
for x in open('/proc/cpuinfo').readlines()
if 'vendor_id' in x])
class FixFanSpeed(Job):
DEPS = (CountCPUs,)
def Check(self, *args, **kwargs):
for cpu in range(self.global_storage['num_cpus']):
....

Cleanup method

A Job's Cleanup method, if supplied, is run at the end
of the checknrun in LIFO order.