Dana Merrick
03/23/2021, 4:15 PMRunNamespacedJob
? do I add it inside a task, so a task can create a Job during the course of a Flow?Mariia Kerimova
03/23/2021, 6:37 PMRunNamespacedJob
task to run a namespaced job. No need to add it inside the task. You can initialize your RunNamespacedJob
instance, pass namespace, job template, etc. Here is a small example
from prefect.tasks.kubernetes.job import RunNamespacedJob
from prefect import Flow, task
body = {
"apiVersion": "batch/v1",
"kind": "Job",
"metadata": {
"name": "pi"
},
"spec": {
"template": {
"spec": {
"containers": [
{
"name": "pi",
"image": "perl",
"command": [
"perl",
"-Mbignum=bpi",
"-wle",
"print bpi(2000)"
]
}
],
"restartPolicy": "Never"
}
},
"backoffLimit": 4
}
}
your_task_name = RunNamespacedJob(body=body, namespace="test")
with Flow("Test") as flow:
your_task_name(kubernetes_api_key_secret=None)
if __name__ == "__main__":
flow.run()
Dana Merrick
03/23/2021, 7:26 PMDana Merrick
03/23/2021, 7:26 PM