Solicitudes de trabajo

En este tema, se describe la función de solicitudes de trabajo documentada en la API de solicitudes de trabajo.

Nota

Algunos servicios de Oracle Cloud Infrastructure ofrecen solicitudes de trabajo compatibles con la API de servicio en lugar de la API de solicitudes de trabajo descritas en este tema. Para obtener más información sobre las solicitudes de trabajo en estos servicios, consulte la siguiente lista.

Introducción a las solicitudes de trabajo

Las solicitudes de trabajo permiten supervisar operaciones de larga duración; por ejemplo, las copias de seguridad de bases de datos o el aprovisionamiento de instancias informáticas. Al iniciar dicha operación, el servicio genera una solicitud de trabajo. Una solicitud de trabajo es un logaritmo de actividades que le permite realizar un seguimiento de cada paso en el progreso de la operación. Cada solicitud de trabajo tiene un OCID que le permite interactuar con ella mediante programación y utilizarla para su automatización.

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 ha completado ese flujo de trabajo y, a continuación, configurar la escala automática una vez completado.

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: las solicitudes de trabajo adoptan los permisos de la operación que inicia la solicitud de trabajo. Para permitir a los usuarios ver las solicitudes de trabajo, los logaritmos y los mensajes de error de una operación, escriba una política que conceda permiso a los usuarios para realizar la operación. Por ejemplo, para permitir a los usuarios ver las solicitudes de trabajo asociadas al inicio de instancias, escriba una política que permita a los usuarios iniciar instancias.

Para permitir a los usuarios mostrar todas las solicitudes de trabajo en un arrendamiento, utilice la siguiente política:

Allow group SupportTeam to inspect work-requests in tenancy

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

Estados de solicitud de trabajo

Nota: Las solicitudes de trabajo de algunos servicios u operaciones solo pueden soportar un subjuego de los siguientes estados.

ACEPTADA
La solicitud está en la cola de solicitudes de trabajo que se debe procesar.
EN_CURSO
Existe un registro de solicitud de trabajo para la solicitud especificada, pero no hay ningún registro WORK_COMPLETED asociado.
FINALIZADA CORRECTAMENTE
Existe un registro de solicitud de trabajo para esta solicitud y un registro de WORK_COMPLETED asociado tiene el estado SUCCEEDED.
FINALIZADA CON ERRORES
Existe un registro de solicitud de trabajo para esta solicitud y un registro de WORK_COMPLETED asociado tiene el estado FAILED.
CANCELANDO
La solicitud de trabajo está en proceso de cancelación.
CANCELADA
La solicitud de trabajo se ha cancelado.

Solución de errores de validación

Si una operación falla, una solicitud de trabajo puede ayudarle a determinar dónde se ha producido el error en el proceso. Las solicitudes de trabajo capturan fallos de validación asíncronos. 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. Una llamada correcta a la API de servicio que devuelve una respuesta HTTP 200 puede ir seguida de un error asíncrono capturado por la API de solicitudes de trabajo.

Por ejemplo, cuando se crea una instancia informática, se realiza una llamada a la API de Compute. En este punto, se produce una validación síncrona. Si la llamada se realiza correctamente, se devuelve la respuesta HTTP 200 al usuario. Si se produce un fallo, se devuelve una respuesta HTTP 4xx. La respuesta a la llamada a la API de REST contiene el OCID de la solicitud de trabajo en la cabecera opc-work-request-id. El OCID es el identificador de solicitud de trabajo, que se puede utilizar para obtener el estado del flujo de trabajo, la información de error y los archivos log asociados de la API de solicitudes de trabajo.

Mientras continúa el flujo de trabajo de creación de instancia, se origina una solicitud de trabajo asíncrona y se producen comprobaciones de errores y validación adicionales. La solicitud de trabajo asíncrona proporciona visibilidad en el progreso de las operaciones asíncronas de larga ejecución. La solicitud de trabajo permanece en una cola hasta que la operación haya terminado.

Puede supervisar el estado de la solicitud de trabajo en cualquier momento llamando a GetWorkRequest en la API de solicitudes de trabajo y transfiriendo el identificador de trabajo que se encuentra en la cabecera opc-work-request-id. Si se produce un error durante el flujo de trabajo, puede llamar a ListWorkRequestErrors en la API de solicitudes de trabajo y transferir el identificador de solicitud de trabajo para recuperar una lista de errores.

Para obtener información detallada sobre las solicitudes de trabajo asíncronas, 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 que incluye el OCID de la solicitud de trabajo en la cabecera opc-work-request-id.
  3. Cuando se inicia el flujo de trabajo de creación de instancia, la validación asíncrona se produce 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.
Flujo de trabajo de creación de instancia de alto nivel 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 son similares para los servicios de Oracle Cloud Infrastructure compatibles con solicitudes de trabajo.

  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 Compute. 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 junto a un recurso para copiar el OCID del mismo.