les tâches

Mis à jour
Cover image for: 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 valeur suspended . 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()

Comment pouvons nous aider?

Notre équipe de support est là pour vous aider!

Nos bureaux sont ouverts du lundi au vendredi, de 9 h à 17 h GMT. L’heure est actuellement 7:18 Après-midi GMT.

Notre objectif est de répondre à tous les messages en un jour ouvrable.

Notre superbe équipe de support

Pouvons-nous améliorer cet article?

Nous aimons entendre les utilisateurs: pourquoi ne pas nous envoyer un email, laisser un commentaire ou tweet @reincubate?

© 2008 - 2024 Reincubate Ltd. Tous droits réservés. Enregistré en Angleterre et au Pays de Galles #5189175, VAT GB151788978. Reincubate® et Camo® sont des marques déposées. Politique de confidentialité & termes.