class Foo(finestrino.Task): task_namespace = "examples" num = finestrino.IntParameter() num2 = finestrino.IntParameter() def run(self): print("Running Foo") def requires(self): yield MyExternal() yield Boom(0)
class DummyTask(finestrino.Task): param = finestrino.Parameter() bool_param = finestrino.BoolParameter() int_param = finestrino.IntParameter() float_param = finestrino.FloatParameter() date_param = finestrino.DateParameter() datehour_param = finestrino.DateHourParameter() timedelta_param = finestrino.TimeDeltaParameter() insignificant_param = finestrino.Parameter(significant=False)
class Bar(finestrino.Task): task_namespace = "examples" num = finestrino.IntParameter() def run(self): self.output().open('w').close() def output(self): return finestrino.LocalTarget("/tmp/bar/%d" % self.num)
class Boom(finestrino.Task): task_namespace = "examples" this_is_a_really_long_I_mean_way_too_long_and_annoying_parameter = finestrino.IntParameter( ) def run(self): print("Running Boom") def requires(self): for i in range(5, 200): yield Bar(i)
class DateTask(finestrino.Task): task_namespace = "examples" date = finestrino.DateParameter() num = finestrino.IntParameter() def run(self): print("Running DateTask") def requires(self): yield MyExternal() yield Boom(0)
class Bar(finestrino.Task): task_namespace = 'examples' num = finestrino.IntParameter() def run(self): time.sleep(1) self.output().open('w').close() def requires(self): global current_nodes if max_total_nodes > current_nodes: valor = int(random.uniform(1, 30)) for i in range(valor // max_depth): current_nodes += 1 yield Bar(current_nodes) def output(self): time.sleep(1) return finestrino.LocalTarget('/tmp/bar/%d' % self.num)
class execution_sumary(finestrino.Config): summary_length = finestrino.IntParameter(default=5)