| :py:mod:`airflow.providers.plexus.operators.job` |
| ================================================ |
| |
| .. py:module:: airflow.providers.plexus.operators.job |
| |
| |
| Module Contents |
| --------------- |
| |
| Classes |
| ~~~~~~~ |
| |
| .. autoapisummary:: |
| |
| airflow.providers.plexus.operators.job.PlexusJobOperator |
| |
| |
| |
| |
| Attributes |
| ~~~~~~~~~~ |
| |
| .. autoapisummary:: |
| |
| airflow.providers.plexus.operators.job.logger |
| |
| |
| .. py:data:: logger |
| |
| |
| |
| |
| .. py:class:: PlexusJobOperator(job_params, **kwargs) |
| |
| Bases: :py:obj:`airflow.models.BaseOperator` |
| |
| Submits a Plexus job. |
| |
| :param job_params: parameters required to launch a job. |
| |
| Required job parameters are the following |
| - "name": job name created by user. |
| - "app": name of the application to run. found in Plexus UI. |
| - "queue": public cluster name. found in Plexus UI. |
| - "num_nodes": number of nodes. |
| - "num_cores": number of cores per node. |
| |
| |
| .. py:method:: execute(self, context) |
| |
| This is the main method to derive when creating an operator. |
| Context is the same dictionary used as when rendering jinja templates. |
| |
| Refer to get_template_context for more context. |
| |
| |
| .. py:method:: construct_job_params(self, hook) |
| |
| Creates job_params dict for api call to |
| launch a Plexus job. |
| |
| Some parameters required to launch a job |
| are not available to the user in the Plexus |
| UI. For example, an app id is required, but |
| only the app name is provided in the UI. |
| This function acts as a backend lookup |
| of the required param value using the |
| user-provided value. |
| |
| :param hook: plexus hook object |
| |
| |
| |