Instead of/in addition to the current run-specification scheme, where users specify the job pool and launch the taxis in an if __name__=='__main__' block, users can specify a subclass of RunSpecification. RunSpecification has a method specify_job_pool which returns the job pool to run. Then, a tool or an if __name__=='__main__' block calls the launch method of the RunSpecification subclass. Things like the pool DB path, pool name, and dispatch DB path are specified as class or instance variables. This would significantly cut down on boilerplate code, and would provide a more user-friendly way for tools to find the right files to interact with (i.e., users just point the tool at the run-spec script which defines the RunSpecification subclass, and the tool reads the relevant paths out of the subclass).
Instead of/in addition to the current run-specification scheme, where users specify the job pool and launch the taxis in an
if __name__=='__main__'
block, users can specify a subclass of RunSpecification. RunSpecification has a methodspecify_job_pool
which returns the job pool to run. Then, a tool or anif __name__=='__main__'
block calls thelaunch
method of theRunSpecification
subclass. Things like the pool DB path, pool name, and dispatch DB path are specified as class or instance variables. This would significantly cut down on boilerplate code, and would provide a more user-friendly way for tools to find the right files to interact with (i.e., users just point the tool at the run-spec script which defines the RunSpecification subclass, and the tool reads the relevant paths out of the subclass).