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
-
pendingde taak is gemaakt, maar wacht momenteel in de wachtrij. -
processingde taak wordt uitgevoerd door een API-medewerker. -
suspendedwacht de taak op het voltooien van blokkeertaken alvorens verder te gaan. -
succeededde 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
resultsvan het taakobject is nu een genest lijstobject, in plaats van een eenvoudig lijstkenmerk.
16-10-2019
- De
statekenmerk 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()