#%RAML 1.0 title: API-Vitam Version Alpha - Worker interne version: v1 baseUri: http://worker.internal.vitam.gouv.fr/{version} protocols: [ HTTP ] uses: StandardTypes: libraries/StandardTypes.raml StandardTraits: libraries/StandardTraits.raml AccessTypes: libraries/AccessTypes.raml AccessTraits: libraries/AccessTraits.raml DslTypes: libraries/DslTypes.raml securitySchemes: VitamPlatform: !include securitySchemes/SecuritySchemeVitamInternal.raml securedBy: [ VitamPlatform ] mediaType: application/json types: _reserved: type: string documentation: - title: Avertissements content: !include docs-fr/avertissement.md - title: Licence content: !include docs-fr/license.md - title: Tasks content: | Le principe proposé serait le suivant: - Affectation par le Moteur d'exécution (Distribution): - POST /tasks - Suivi pour un worker pour une tâche: - GET / tasks/id_async - Possibilité future d'agir sur une tâche en cours d'exécution (ou plusieurs): - PATCH /tasks - PATCH /tasks/id_async Questions ou remarques: - Le /status pourrait être étendu pour avoir des informations statistiques sur le Worker. /tasks: # root endpoint request displayName: Tasks description: Administration des Tâches Asynchrones (Steps). is: [ StandardTraits.StandardOptionalHeader, StandardTraits.StandardHeader401, StandardTraits.StandardHeader404, StandardTraits.StandardHeader409, StandardTraits.StandardHeader412 ] get: description: Permet de lister les tâches en cours body: application/json: type: object example: !include libraries/samples/collectionQuery.sample responses: 200: body: application/json: type: object example: !include libraries/samples/collectionList.sample post: description: Permet de soumettre une tâche (steps + contexte + item) body: application/json: type: object example: !include libraries/samples/workflow-worker.sample responses: 201: body: application/json: type: object example: !include libraries/samples/async_status.sample put: description: Permet si nécessaire d'interagir avec une tâche (cancel) body: application/json: type: object example: !include libraries/samples/genericSample.sample responses: 200: body: application/json: type: object example: !include libraries/samples/async_status.sample /{id_async}: displayName: Task is: [ StandardTraits.StandardOptionalHeader, StandardTraits.StandardHeader401, StandardTraits.StandardHeader404, StandardTraits.StandardHeader409, StandardTraits.StandardHeader412 ] get: description: Permet de récupérer le statut d'une Tâche en cours responses: 200: body: application/json: type: object example: !include libraries/samples/async_status.sample put: description: Permet si nécessaire d'interagir avec une Tâche (cancel) body: application/json: type: object example: !include libraries/samples/genericSample.sample responses: 200: body: application/json: type: object example: !include libraries/samples/async_status.sample /status: get: is: [ StandardTraits.Status, StandardTraits.StandardHeader200, StandardTraits.StandardHeader401, StandardTraits.StandardHeader404, StandardTraits.StandardHeader503 ]