{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "175ff1e8-9d71-4396-9936-37304fa5df1c",
      "metadata": {},
      "source": [
        "---\n",
        "title: \"Tempo máximo de execução para cargas de trabalho d Qiskit Runtime\"\n",
        "description: \"Descreve por quanto tempo uma tarefa do Qiskit Runtime pode ser executada, independentemente do modo de execução utilizado.\"\n",
        "---\n",
        "\n",
        "<span id=\"maximum-execution-time-for-qiskit-runtime-workloads\" />\n",
        "\n",
        "# Tempo máximo de execução para cargas de trabalho d Qiskit Runtime\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "653b0c37-be57-49af-b8fe-d60e3bbdc939",
      "metadata": {
        "tags": [
          "version-info"
        ]
      },
      "source": [
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "a0d6acc5-754c-4955-8cf0-5e3e12b9dd1f",
      "metadata": {},
      "source": [
        "Para garantir a equidade, há um limite máximo de tempo, [imposto pelo serviço, durante o qual](#max-QPU) cada tarefa do Qiskit Runtime pode ser executada. Se uma tarefa ultrapassar esse limite de tempo, ela é cancelada à força e é gerada uma exceção `RuntimeJobMaxTimeoutError` . Você também pode [definir um tempo máximo de execução](#max-job) para seus trabalhos, a fim de ajudar a controlar os custos.\n",
        "\n",
        "<Admonition>\n",
        "  A sessão ou o lote é encerrado imediatamente quando o limite de custo é atingido. Quaisquer tarefas que estejam em execução nessa sessão ou lote serão concluídas, mas as tarefas pendentes serão canceladas.\n",
        "</Admonition>\n",
        "\n",
        "<span id=\"max-job\" />\n",
        "\n",
        "<span id=\"set-a-maximum-execution-time\" />\n",
        "\n",
        "## Definir um tempo máximo de execução\n",
        "\n",
        "O tempo máximo de execução de um trabalho é o menor desses valores:\n",
        "\n",
        "* O valor definido para `max_execution_time`\n",
        "* O valor máximo de tempo limite do serviço (três horas)\n",
        "\n",
        "O valor `max_execution_time` é baseado no *uso da QPU* (apenas uso quântico), e não no tempo real.\n",
        "\n",
        "Defina o tempo máximo de execução (em segundos) nas opções da tarefa, conforme mostrado no exemplo a seguir.  Consulte os guias [de](/docs/guides/estimator-options) [opções](/docs/guides/executor-options) do Estimador, [do Amostrador](/docs/guides/sampler-options) ou do Executor para obter informações sobre como definir as opções.\n",
        "\n",
        "```python\n",
        "from qiskit_ibm_runtime import QiskitRuntimeService\n",
        "from qiskit_ibm_runtime import EstimatorV2 as Estimator\n",
        "\n",
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "estimator = Estimator(mode=backend)\n",
        "\n",
        "estimator.options.max_execution_time = 2500\n",
        "```\n",
        "\n",
        "Você também pode verificar o consumo de recursos dos trabalhos concluídos recuperando as métricas dos trabalhos da seguinte forma:\n",
        "\n",
        "```python\n",
        "# Find QPU usage of a specific job\n",
        "print(f\"QPU usage of job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds\")\n",
        "```\n",
        "\n",
        "<span id=\"max-QPU\" />\n",
        "\n",
        "<span id=\"service-enforced-maximum-execution-time\" />\n",
        "\n",
        "## Tempo máximo de execução imposto pelo serviço\n",
        "\n",
        "O serviço impõe um limite máximo de tempo de execução de três horas para garantir o uso justo dos dispositivos. Se também `max_execution_time` for especificado um para a tarefa, será utilizado o menor dos dois valores.\n",
        "\n",
        "Por exemplo, se você especificar `max_execution_time=5000` (aproximadamente 83 minutos), o trabalho será cancelado após aproximadamente 83 minutos, mesmo que o serviço permita que ele seja executado por três horas.\n",
        "\n",
        "<span id=\"batch-max-time\" />\n",
        "\n",
        "<span id=\"batch-maximum-execution-time\" />\n",
        "\n",
        "## Tempo máximo de execução do lote\n",
        "\n",
        "Quando um lote é iniciado, é atribuído a ele um valor de tempo máximo de vida (TTL máximo). Depois que esse TTL é atingido, o lote é encerrado, todos os trabalhos que já estão em execução continuam em execução e todos os trabalhos em fila que permanecem no lote são colocados em um estado de falha.\n",
        "\n",
        "Os lotes também têm um valor de tempo de vida interativo (TTL interativo) entre os trabalhos que não pode ser configurado. Se você não fechar explicitamente um lote, ele será desativado após a expiração do TTL interativo e poderá ser reativado a qualquer momento até atingir o TTL máximo.\n",
        "\n",
        "Para obter instruções sobre como trabalhar com esses valores, consulte [Executar tarefas em lote](/docs/guides/run-jobs-batch).\n",
        "\n",
        "<span id=\"session-max-time\" />\n",
        "\n",
        "<span id=\"session-maximum-execution-time\" />\n",
        "\n",
        "## Tempo máximo de execução da sessão\n",
        "\n",
        "Quando uma sessão é iniciada, é atribuído a ela um valor TTL máximo que determina por quanto tempo uma sessão pode ser executada. Depois que esse TTL é atingido, a sessão é encerrada, todos os trabalhos que já estão em execução continuam em execução e todos os trabalhos em fila que permanecem na sessão são colocados em um estado de falha.\n",
        "\n",
        "Há também um valor TTL interativo que não pode ser configurado.  Se nenhum trabalho de sessão for enfileirado dentro dessa janela, a sessão será temporariamente desativada.\n",
        "\n",
        "Para obter instruções sobre como trabalhar com esses valores, consulte [Executar tarefas em uma sessão](/docs/guides/run-jobs-session).\n",
        "\n",
        "<span id=\"other-limitations\" />\n",
        "\n",
        "## Outras limitações\n",
        "\n",
        "No Plano Aberto, você pode utilizar até 10 minutos por QPU a cada período de 28 dias. Você pode visualizar o uso de uma instância na página [Instâncias](/instances).\n",
        "\n",
        "<span id=\"next-steps\" />\n",
        "\n",
        "## Próximas etapas\n",
        "\n",
        "<Admonition type=\"tip\" title=\"Recomendações\">\n",
        "  * [Utilização da carga de trabalho](/docs/guides/estimate-job-run-time).\n",
        "  * Confira estas dicas: [Reduza o tempo de execução da tarefa](/docs/guides/minimize-time).\n",
        "</Admonition>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "id": "a1b8767d",
      "source": "© IBM Corp., 2017-2026"
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 4
}