def __init__(self, scheduler, name, **kwargs): self.scheduler = scheduler self.name = name self.taskpath = kwargs['task'] self.args = util.dump(kwargs.get('args', [])) self.kwargs = util.dump(kwargs.get('kwargs', {})) self.targets = [scheduler.nodes[host] for host in kwargs['targets']] self.schedule = CronSchedule(kwargs.get('schedule', "* * * * *")) self._timer = ScheduledCall(self.execute) self.description = kwargs.get( 'description', "{task} @ {targets}".format( task=self.taskpath, targets=str(self.targets)))
def __amp__(self): return util.dump((self.hostname, self.ip, self.user, self.password, self.identity))