les tâches
Une tâche est responsable de l'exécution de toutes les charges de travail asynchrones sur l'API, telles que l'établissement d'une session avec des services externes, ainsi que la récupération et le traitement des données.
Les tâches sont généralement créées lors de la création d'une ressource de session ou lors de l'exécution d'un sondage.
Toutes les données renvoyées par une tâche sont décrites par les ressources de résultat associées.
Certaines tâches, principalement liées à la gestion de systèmes et d'organisations, peuvent ne pas cibler un utilisateur, une source ou une session, ni être associées à un sondage. Les tâches de test de stockage et de configuration Webhook sont des exemples de ce type de tâche.
Les attributs
prénom | type | la description |
---|---|---|
id | ID de tâche | Identifiant de ressource. |
resource | chaîne, toujours task | Spécificateur de type de ressource. |
organisation | ID d'organisation | L'organisation à laquelle la ressource appartient. |
key | ID clé | La clé associée à cette tâche. |
user | optionnel, identifiant utilisateur | Utilisateur associé à cette tâche. |
source | optionnel, ID source | La source ciblée par cette tâche. |
session | optionnel, identifiant de session | La session utilisée par cette tâche. |
poll | optionnel, ID de sondage | Le sondage auquel cette tâche est associée. |
source_type | facultatif, chaîne | Le type de source de cette tâche est la cible. |
type | chaîne | Le type de tâche de la tâche. |
target | chaîne | L'argument de plus haut niveau de la tâche. Par exemple, une tâche de type de data aura le type de données qu'elle récupère en tant que cible (c'est-à-dire messages.sms ). |
state | chaîne | L'un des éléments suivants: en pending , processing , suspended , succeeded , failed . |
results | objet de liste contenant les ressources de résultat | Tous les résultats publiés à partir de l'exécution de la tâche. |
error | facultatif, chaîne | Rempli avec le code d'erreur, le cas échéant. |
date_created | date / heure | Quand la ressource a été créée. |
date_started | facultatif, date / heure | Lorsque le traitement de la tâche a commencé. |
date_completed | facultatif, date / heure | Quand la précession de tâche est terminée. |
Types de source
Si la tâche est associée à une source, le type de la source sera dénormalisé dans l' source_type
tâche source_type
. Cela aide à simplifier les requêtes pour les tâches d'un certain type.
Les types
Le type de tâche est un slug court identifiant la tâche sous-jacente en cours d'exécution dans l'API.
Si la tâche est liée à une activité sur une ressource, telle que le test d'une configuration webhook, elle sera formatée comme webhook_config.test
.
Si la tâche cible une source spécifique, l'attribut source_type
stocke les informations relatives à la source, tandis que l'attribut type
stocke uniquement l'action principale. Par exemple, la création d'une session déclenchera la création d'une tâche session.init
par rapport à une source de type icloud.account
.
Cible
Cela spécifie la cible de la tâche sous-jacente et n'est pas toujours défini. Par exemple, la cible d'un webhook_config.test
sera l'ID de la configuration webhook à tester. Pour une tâche de data
sur une source de type icloud.account
, ce sera le type de données à récupérer, tel que messages.whatsapp
.
Etat
-
pending
la tâche a été créée mais est en attente dans la file d'attente. -
processing
la tâche est en cours d'exécution par un opérateur d'API. -
suspended
la tâche attend la fin des tâches bloquantes avant de poursuivre. -
succeeded
la tâche terminée sans erreurs. -
failed
la tâche a rencontré des erreurs.
les erreurs
Si la tâche rencontre des problèmes lors du traitement, ce champ sera défini avec le code de l'erreur rencontrée.
Changelog
2020-02-20
- Majeur L'attribut
results
de l'objet de tâche est désormais un objet de liste imbriqué, plutôt qu'un simple attribut de liste.
2019-10-16
- L'attribut
state
de l'objet de tâche peut désormais avoir la valeursuspended
. Cela indique que l'API attend la fin des actions de l'application Reincubate Relay, telles qu'un téléchargement de fichier ou une mise à jour des métadonnées, pour qu'elle reprenne et termine la tâche.
Récupérer GET /tasks/{task ID}
Utiliser cURL
curl https://ricloud-api.reincubate.com/tasks/<task ID> \ -H 'Authorization: Token <your key_token>'
Utiliser ricloud-py
import ricloud task = ricloud.Task.retrieve(<task ID>)
Exemple de réponse
{ "id": "00000001-1234-1234-1234-9876543210", "resource": "task", "organisation": 1, "key": 1, "user": 1, "source": 1, "session": "00000002-1234-1234-1234-9876543210", "poll": "00000003-1234-1234-1234-9876543210", "source_type": "mocks.mock", "type": "info", "target": null, "results": { "data": [], "has_more": false, "total_count": 1, "url": "/tasks/00000001-1234-1234-1234-9876543210/results" }, "state": "processing", "error": null, "date_created": "2020-02-20T11:59:15.110451Z", "date_started": "2020-02-20T11:59:15.207932Z", "date_completed": null }
Liste GET /tasks
Paramètres
prénom | type | la description |
---|---|---|
key | ID clé | Filtrer par l'organisation associée. |
user | identifiant d'utilisateur | Filtrer par l'utilisateur associé. |
source | ID source | Filtrer par la source associée. |
session | ID de session | Filtrer par la session associée. |
poll | ID de sondage | Filtrer par le sondage propriétaire. |
source_type | chaîne | Filtrer par type de source. |
type | chaîne | Filtrer par type de tâche. |
state | chaîne | Filtrer par l'état de la tâche. |
date_created | filtre datetime | Filtrer par date de création de la ressource. |
date_started | filtre datetime | Filtrer par date de début du traitement de la tâche. |
date_completed | filtre datetime | Filtrer par date de traitement de la tâche. |
Utiliser cURL
curl https://ricloud-api.reincubate.com/tasks \ -H 'Authorization: Token <your key_token>'
Utiliser ricloud-py
import ricloud tasks = ricloud.Task.list()