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 heeftsuspended
. 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()