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
-
pendingla tâche a été créée mais est en attente dans la file d'attente. -
processingla tâche est en cours d'exécution par un opérateur d'API. -
suspendedla tâche attend la fin des tâches bloquantes avant de poursuivre. -
succeededla tâche terminée sans erreurs. -
failedla 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
resultsde 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
statede 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()