tasks.ref(...)
Function used to retrieve the output of other tasks.
tasks.ref(
task_name: str, local: bool = False
)
Parameters
task: str
: the name of the task whose output you'd like to retrieve. This name should be in the form<module_name>
, or<module_name>.<task_name>
, where<task_name>
is the name of the Prism task class / function.local: bool
: whethertask
lives in the same module. The default isFalse
.
Examples:
Non-local tasks:
import prism.task
import prism.target
import prism.decorators
class ExampleTask(prism.task.PrismTask):
@prism.decorators.target(
type=prism.target.Txt,
loc="/Users/hello_world.txt",
**kwargs
)
def run(self, tasks, hooks):
test_str = "Hello, world!"
# Get output from task in first_task.py. If this module
# contains multiple tasks, then we'll need to specify
# the task via <module_name>.<task_name>
previous_task_output = tasks.ref("first_task")
return test_str + previous_task_output
Local tasks:
import prism.task
import prism.target
import prism.decorators
class FirstTask(prism.task.PrismTask):
def run(self, tasks, hooks):
# do something
class ExampleTask(prism.task.PrismTask):
@prism.decorators.target(
type=prism.target.Txt,
loc="/Users/hello_world.txt",
**kwargs
)
def run(self, tasks, hooks):
test_str = "Hello, world!"
previous_task_output = tasks.ref("FirstTask", local=True)
return test_str + previous_task_output