Solicitudes de trabajo

Las solicitudes de trabajo le ayudan a supervisar las operaciones de larga duración como, por ejemplo, las copias de seguridad de base de datos o el aprovisionamiento de instancias informáticas.

Cuando inicia una operación de larga ejecución, el servicio crea una solicitud de trabajo. Una solicitud de trabajo es un log de actividad que le permite realizar un seguimiento de cada paso del progreso de la operación. Cada solicitud de trabajo tiene un OCID que le permite interactuar con ella mediante programación y utilizarlo para la automatización.

Las solicitudes de trabajo suelen proporcionar información sobre el estado del flujo de trabajo asociado, los errores, los archivos log y una lista de recursos afectados por el flujo de trabajo.

Nota

Algunos servicios de Oracle Cloud Infrastructure, como Compute y Database, soportan solicitudes de trabajo mediante la API de solicitudes de trabajo, que contiene la operación GetWorkRequest.

Algunos servicios ofrecen solicitudes de trabajo soportadas por la API de servicio en lugar de la API de solicitudes de trabajo que se trata en este tema. Estas API de servicio incluyen cada una las operaciones que funcionan de forma similar a la operación GetWorkRequest utilizada por la API de solicitudes de trabajo.

Consulte la documentación de referencia de la API de solicitud de trabajo de cada servicio para obtener más información. Los enlaces a cada una se proporcionan en la sección Más información y API de los servicios soportados.

Introducción a las solicitudes de trabajo

Las solicitudes de trabajo son útiles en los siguientes escenarios:

  • Si una operación falla, una solicitud de trabajo puede ayudarle a determinar qué paso del proceso tiene un error. Las solicitudes de trabajo capturan fallos de validación asíncronos.
  • Algunas operaciones afectan a varios recursos. Por ejemplo, la creación de un pool de instancias también afecta a las instancias y a las configuraciones de estas. Una solicitud de trabajo proporciona una lista de los recursos a los que afecta una operación.
  • Para los flujos de trabajo que requieren operaciones secuenciales puede supervisar la solicitud de trabajo de cada operación y confirmar que la operación ha terminado antes de continuar con la siguiente. Por ejemplo, supongamos que desea crear un pool de instancias con la escala automática activada. Para ello, primero debe crear el pool de instancias y, a continuación, configurar la escala automática. Puede supervisar la solicitud de trabajo para crear el pool de instancias a fin de determinar cuándo se completa ese flujo de trabajo y, a continuación, configurar el escalado automático una vez finalizado el flujo de trabajo del pool de instancias.

Las solicitudes de trabajo se mantienen durante 12 horas.

Política de IAM necesaria

Para utilizar Oracle Cloud Infrastructure, un administrador debe otorgarle acceso de seguridad en una política . Este acceso está requerido tanto si está utilizando la consola como la API de REST con un SDK, una CLI u otra herramienta. Si recibe un mensaje que indica que no tiene permiso o no está autorizado, verifique con su administrador qué tipo de acceso tiene y en qué compartimento  debe trabajar.

Para los administradores: los permisos que permiten a los usuarios ver las solicitudes de trabajo, los logs y los mensajes de error de una operación varían según el servicio. Para algunos servicios, las solicitudes de trabajo heredan los permisos de la operación que origina la solicitud de trabajo. Para otros servicios, las solicitudes de trabajo requieren permisos independientes. Para obtener más información, consulte Referencia de políticas.

Si no está familiarizado con las políticas, consulte Introducción a las políticas y Políticas comunes.

Estado de solicitud de trabajo

Las solicitudes de trabajo proporcionan visibilidad del progreso de las operaciones asíncronas de larga ejecución. El estado de una solicitud de trabajo indica el progreso de la operación.

Los estados suelen incluir valores como IN_PROGRESS, FAILED o SUCCEEDED. Puesto que cada servicio u operación que soporta solicitudes de trabajo proporciona su propia API para obtener el estado, los valores específicos que se devuelven en una solicitud de trabajo pueden variar según el servicio y la operación. Para obtener información sobre los atributos de estado soportados por las solicitudes de trabajo para cada servicio, consulte Estado de solicitud de trabajo.

Solución de errores de validación

Las solicitudes de trabajo capturan fallos de validación asíncronos. Si falla una operación asíncrona, una solicitud de trabajo puede ayudarle a determinar dónde se ha producido el error en el proceso.

Los errores síncronos se producen durante la llamada inicial a la API de servicio y los devuelve la API de servicio. Los errores asíncronos se producen durante el flujo de trabajo que tiene lugar después de la llamada inicial a la API y son devueltos por la solicitud de trabajo. Una llamada correcta a la API de servicio que devuelve una respuesta HTTP 200 (que indica que la solicitud se ha realizado correctamente) podría ir seguida de un error asíncrono capturado por la solicitud de trabajo.

Por ejemplo, al crear una instancia informática, se realiza una llamada a la API a la operación LaunchInstance. En este punto, se produce una validación síncrona. Si se produce un fallo, se devuelve una respuesta HTTP 4xx. Si la llamada se realiza correctamente, se devuelve una respuesta HTTP 200 y se inicia el flujo de trabajo de creación de instancia.

Mientras continúa el flujo de trabajo de creación de instancia, se producen comprobaciones de errores y validación adicionales, y se crea una solicitud de trabajo asíncrona para realizar un seguimiento del progreso del flujo de trabajo. La respuesta a la operación LaunchInstance contiene el OCID de la solicitud de trabajo en la cabecera opc-work-request-id. Puede supervisar el estado de la solicitud de trabajo en cualquier momento llamando a la operación GetWorkRequest y transfiriendo el identificador de la solicitud de trabajo. Si se produce un error durante el flujo de trabajo, puede recuperar una lista de errores llamando a ListWorkRequestErrors y transfiriendo el identificador de solicitud de trabajo.

La solicitud de trabajo permanece en una cola hasta que la operación haya terminado.

Para obtener información detallada sobre las solicitudes de trabajo, incluido cómo filtrar la respuesta de la solicitud y una solicitud y una respuesta de muestra, consulte Solicitudes de trabajo asíncronas.

Ejemplo de flujo de trabajo de validación de solicitud de trabajo

En el siguiente diagrama se muestra un ejemplo de flujo de trabajo de creación de instancia en el que la validación síncrona se realiza correctamente y falla la validación asíncrona.

  1. Usted llama al punto final LaunchInstance en la API de Compute.
  2. Se produce una validación síncrona y recibe una respuesta HTTP 2xx de la API de Compute. La respuesta incluye el OCID de la solicitud de trabajo en la cabecera opc-work-request-id.
  3. Se inicia el flujo de trabajo de creación de instancia y se produce una validación asíncrona en todo el flujo de trabajo. Se produce un error y la validación falla.
  4. La API de Compute rellena los errores de solicitud de trabajo y marca la solicitud de trabajo como fallida.
  5. Para supervisar la solicitud de trabajo, llama a GetWorkRequest en la API de solicitudes de trabajo y transfiere el identificador de solicitud de trabajo que se encuentra en la cabecera opc-work-request-id.
  6. Al comprobar que la solicitud de trabajo ha fallado, llama a ListWorkRequestErrors en la API de solicitudes de trabajo y transfiere el identificador de solicitud de trabajo para recuperar una lista de errores.
  7. La API de solicitudes de trabajo devuelve una lista de errores que puede utilizar para determinar la causa del fallo.
Diagrama de alto nivel del flujo de trabajo de creación de instancia que muestra la validación síncrona y asíncrona.

Uso de la consola para ver solicitudes de trabajo

Puede utilizar la consola para ver los mensajes de registro, los mensajes de error y los recursos asociados a una solicitud de trabajo específica. Los pasos para ver una solicitud de trabajo pueden variar según el servicio y el recurso cuyas solicitudes de trabajo desea ver.

  1. Navegue hasta el recurso cuyas solicitudes de trabajo desea ver.

    Por ejemplo, para ver las solicitudes de trabajo de una instancia informática: abra el menú de navegación y haga clic en Recursos informáticos. En Recursos informáticos, haga clic en Instancias.

  2. Si el recurso se muestra en una vista de lista, haga clic en el nombre del recurso para ver sus detalles.
  3. En Recursos, haga clic en Solicitudes de trabajo. El estado de todas las solicitudes de trabajo aparece en la página.
  4. Para ver los mensajes de registro, los mensajes de error y los recursos asociados a una solicitud de trabajo específica, haga clic en el nombre de la operación. A continuación, seleccione una opción en la sección Más información.

    Para los recursos asociados, puede hacer clic en el menú Acciones (Menú Acciones) junto a un recurso para copiar el OCID del mismo.

Más información y API de los servicios soportados

Para obtener más información sobre el uso de la API y la firma de solicitudes, consulte la documentación de la API de REST y Credenciales de seguridad. Para obtener información sobre los SDK, consulte Los SDK y la CLI.

Utilice las siguientes operaciones de API para supervisar el estado de las solicitudes de trabajo: