jina.orchestrate.deployments package

    Module contents

    Bases:

    A BaseDeployment is an immutable set of pods. Internally, the pods can run with the process/thread backend. They can be also run in their own containers on remote machines.

    • abstract start()

      Start to run all Pod in this BaseDeployment.

      Note

      If one of the Pod fails to start, make sure that all of them are properly closed.

    • abstract async rolling_update(\args, **kwargs*)

      Roll update the Executors managed by the Deployment

    • abstract async scale(\args, **kwargs*)[source]

      Scale the amount of replicas of a given Executor.

    • property role:

      Return the role of this BaseDeployment.

      • Return type

    • property name: str

      The name of this BaseDeployment.

      • Return type

        str

    • property head_host: str

      Get the host of the HeadPod of this deployment .. # noqa: DAR201

      • Return type

        str

    • abstract property head_args: argparse.Namespace

      Get the arguments for the head of this BaseDeployment.

      • Return type

        Namespace

    • abstract join()

      Wait until all deployment and pods exit.

    • property deployments: List[Dict]

      Get deployments of the deployment. The BaseDeployment just gives one deployment.

      • Return type

        List[Dict]

        Returns

        list of deployments

    class jina.orchestrate.deployments.Deployment(args, needs=None)[source]

    Bases:

    A Deployment is an immutable set of pods, which run in replicas. They share the same input and output socket. Internally, the pods can run with the process/thread backend. They can be also run in their own containers :type args: Union[Namespace, Dict] :param args: arguments parsed from the CLI :type needs: [Set[str]] :param needs: deployments names of preceding deployments, the output of these deployments are going into the input of this deployment

    • needs

    • update_pod_args()[source]

      Update args of all its pods based on Deployment args. Including head/tail

    • update_worker_pod_args()

      Update args of all its worker pods based on Deployment args. Does not touch head and tail

    • property is_sandbox: bool

      Check if this deployment is a sandbox.

      • Return type

        bool

        Returns

        True if this deployment is provided as a sandbox, False otherwise

    • property external: bool

      Check if this deployment is external.

      • Return type

        bool

        Returns

        True if this deployment is provided as an external deployment, False otherwise

    • property protocol

      • Returns

        the protocol of this deployment, https or http

    • property first_pod_args: argparse.Namespace

      Return the first worker pod’s args

      • Return type

        Namespace

    • property host: str

      Get the host name of this deployment

      • Return type

        str

    • property head_args: argparse.Namespace

      Get the arguments for the head of this Deployment.

      • Return type

        Namespace

    • property uses_before_args: argparse.Namespace

      Get the arguments for the uses_before of this Deployment.

      • Return type

        Namespace

    • property all_args: List[argparse.Namespace]

      Get all arguments of all Pods in this BaseDeployment.

      • Return type

    • property num_pods: int

      Get the number of running Pod

      • Return type

        int

    • activate()[source]

      Activate all worker pods in this deployment by registering them with the head

    • static get_worker_host(pod_args, pod, head_pod)

      Check if the current pod and head are both containerized on the same host If so __docker_host__ needs to be advertised as the worker’s address to the head

      • Parameters

        • pod_args – arguments of the worker pod

        • pod – the worker pod

        • head_pod – head pod communicating with the worker pod

        Returns

        host to use in activate messages

    • start()[source]

      Start to run all Pod in this BaseDeployment.

      • Return type

        Returns

        started deployment

      Note

      If one of the Pod fails to start, make sure that all of them are properly closed.

    • wait_start_success()[source]

      Block until all pods starts successfully.

      If not successful, it will raise an error hoping the outer function to catch it

      • Return type

        None

    • join()

      Wait until all pods exit

    • property is_ready: bool

      Checks if Deployment is ready

      Note

      A Deployment is ready when all the Pods it contains are ready

      • Return type

        bool

    • async rolling_update(uses_with=None)[source]

      Reload all Pods of this Deployment.

      • Parameters

        uses_with (Optional[Dict]) – a Dictionary of arguments to restart the executor with

    • async scale(replicas)

      Scale the amount of replicas of a given Executor.

      • Parameters