taken

bijgewerkt
Cover image for: taken

Een taak is verantwoordelijk voor het uitvoeren van alle asynchrone workloads op de API, zoals het opzetten van een sessie met externe services en het ophalen en verwerken van gegevens.

Taken worden meestal gemaakt als onderdeel van het maken van een sessiebron of tijdens het uitvoeren van een peiling.

Alle gegevens die door een taak worden geretourneerd, worden beschreven door eventuele bijbehorende resultaatsbronnen.

Sommige taken, voornamelijk met betrekking tot systeem- en organisatiebeheer, zijn mogelijk niet gericht op een gebruiker, bron of sessie, of zijn niet gekoppeld aan een peiling. Voorbeelden van dit soort taken zijn de configuratietesttaken voor opslag en webhook.

attributen

naam type Omschrijving
id taak ID Bron-ID.
resource string, altijd task Specificatie middelenbron.
organisation organisatie ID De organisatie waartoe de resource behoort.
key sleutel ID De sleutel die aan deze taak is gekoppeld.
user optioneel, gebruikers-ID De gebruiker die aan deze taak is gekoppeld.
source optioneel, bron-ID De bron waarop deze taak is gericht.
session optioneel, sessie-ID De sessie die door deze taak wordt gebruikt.
poll optioneel, poll-ID De peiling waaraan deze taak is gekoppeld.
source_type optioneel, tekenreeks Het type bron waarop deze taak zich richt.
type draad Het taaktype van de taak.
target draad Het hoogste argument voor de taak. Een data taak heeft bijvoorbeeld het gegevenstype dat wordt opgehaald als het doel (dat wil zeggen messages.sms ).
state draad Een van: in pending , processing , suspended , succeeded , failed .
results lijstobject met resultaatbronnen Alle resultaten die zijn gepubliceerd na de uitvoering van de taak.
error optioneel, tekenreeks Bevolkt met de foutcode, als er een is opgetreden.
date_created datum Tijd Wanneer de resource is gemaakt.
date_started optioneel, datetime Toen de taakverwerking begon.
date_completed optioneel, datetime Wanneer de taakverdeling klaar is.

Brontypen

Als de taak is gekoppeld aan een bron, wordt het type van de bron gedenormaliseerd op het source_type . Dit helpt bij het vereenvoudigen van query's voor taken van een bepaald type.

Types

Het taaktype is een korte slak die de onderliggende taak identificeert die binnen de API wordt uitgevoerd.

Als de taak betrekking heeft op activiteit tegen een bron, zoals het testen van een webhook-configuratie, wordt deze opgemaakt als webhook_config.test .

Als de taak op een specifieke bron is gericht, source_type kenmerk source_type de source_type informatie op, terwijl het type attribuut alleen de hoofdactie opslaat. Als u bijvoorbeeld een sessie maakt, wordt een session.init taak icloud.account die wordt gemaakt met een bron van het type icloud.account .

Doelwit

Dit specificeert het doel van de onderliggende taak en is niet altijd ingesteld. Het doel van een webhook_config.test is bijvoorbeeld de ID van de webhook-configuratie die moet worden getest. Voor een data tegen een icloud.account type bron, zal dit het gegevenstype zijn om als messages.whatsapp te worden opgehaald.whatsapp.

Staat

  • pending de taak is gemaakt, maar wacht momenteel in de wachtrij.
  • processing de taak wordt uitgevoerd door een API-medewerker.
  • suspended wacht de taak op het voltooien van blokkeertaken alvorens verder te gaan.
  • succeeded de taak voltooid zonder fouten.
  • de taak is failed .

fouten

Als de taak tijdens de verwerking op problemen stuit, wordt dit veld ingesteld met de code van de fout die is opgetreden.

Changelog

2020-02-20

  • Belangrijk Het results van het taakobject is nu een genest lijstobject, in plaats van een eenvoudig lijstkenmerk.

16-10-2019

  • De state kenmerk van de opdracht object kan nu de waarde heeft suspended . Dit geeft aan dat de API wacht op voltooiing van acties door de Reincubate Relay-applicatie, zoals een bestandsupload of metadata-update, zodat deze de taak kan hervatten en voltooien.

Ophalen GET /tasks/{task ID}

CURL gebruiken

curl https://ricloud-api.reincubate.com/tasks/<task ID> \
  -H 'Authorization: Token <your key_token>'

Ricloud-py gebruiken

import ricloud

task = ricloud.Task.retrieve(<task ID>)

Voorbeeldantwoord

{
  "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
}

Lijst GET /tasks

parameters

naam type Omschrijving
key sleutel ID Filteren op de gekoppelde organisatie.
user gebruikersnaam Filteren op de gekoppelde gebruiker.
source bron ID Filteren op de bijbehorende bron.
session sessie-ID Filteren op de bijbehorende sessie.
poll poll ID Filteren op de eigen peiling.
source_type draad Filteren op brontype.
type draad Filter op het taaktype.
state draad Filteren op de taakstatus.
date_created datetime filter Filter op resource-aanmaakdatum.
date_started datetime filter Filter op wanneer de taak begon te verwerken.
date_completed datetime filter Filteren op wanneer de taak is verwerkt.

CURL gebruiken

curl https://ricloud-api.reincubate.com/tasks \
  -H 'Authorization: Token <your key_token>'

Ricloud-py gebruiken

import ricloud

tasks = ricloud.Task.list()

Hoe kunnen we helpen?

Ons ondersteuningsteam is er om u te helpen!

Onze kantooruren zijn van maandag tot vrijdag van 09.00 tot 17.00 uur GMT. De tijd is momenteel 1:08 AM GMT.

We streven ernaar om alle berichten binnen één werkdag te beantwoorden.

Ons geweldige ondersteuningsteam

Kunnen we dit artikel verbeteren?

We horen graag van gebruikers: Stuur ons een e-mail, laat een reactie achter of stuur een tweet @reincubate?

© 2008 - 2024 Reincubate Ltd. Alle rechten voorbehouden. Geregistreerd in Engeland en Wales #5189175, VAT GB151788978. Reincubate® en Camo® zijn geregistreerde handelsmerken. Privacybeleid & termen.