Aufgaben
Eine Aufgabe ist für die Ausführung aller asynchronen Workloads auf der API verantwortlich, z. B. das Einrichten einer Sitzung mit externen Diensten sowie das Abrufen und Verarbeiten von Daten.
Aufgaben werden am häufigsten als Teil der Erstellung einer Sitzungsressource oder während der Ausführung einer Umfrage erstellt.
Alle von einer Aufgabe zurückgegebenen Daten werden durch zugehörige Ergebnisressourcen beschrieben.
Einige Aufgaben, die hauptsächlich mit der System- und Organisationsverwaltung zusammenhängen, zielen möglicherweise nicht auf einen Benutzer, eine Quelle oder eine Sitzung ab oder sind keiner Umfrage zugeordnet. Beispiele für diese Art von Aufgaben sind die Speicher- und Webhook-Konfigurationstests.
Attribute
Name | Art | Beschreibung |
---|---|---|
id | Aufgaben-ID | Ressourcenkennung. |
resource | Zeichenfolge, immer task | Ressourcentypbezeichner. |
organisation | Organisations-ID | Die Organisation, zu der die Ressource gehört. |
key | Schlüssel-ID | Der dieser Aufgabe zugeordnete Schlüssel. |
user | Optional, Benutzer-ID | Der Benutzer, der dieser Aufgabe zugeordnet ist. |
source | Optional, Quell-ID | Die Quelle, auf die sich diese Aufgabe bezieht. |
session | Optional, Sitzungs-ID | Die von dieser Aufgabe verwendete Sitzung. |
poll | Optional, Umfrage-ID | Die Umfrage, der diese Aufgabe zugeordnet ist. |
source_type | optional, Zeichenfolge | Die Art der Quelle, aus der diese Aufgabe stammt, ist zielgerichtet. |
type | Zeichenfolge | Der Aufgabentyp der Aufgabe. |
target | Zeichenfolge | Das übergeordnete Argument für die Aufgabe. Beispielsweise hat eine data Task den Datentyp, den sie als Ziel abruft (dh messages.sms ). |
state | Zeichenfolge | Eines der folgenden pending : pending , processing , suspended , succeeded , failed . |
results | Listenobjekt mit Ergebnisressourcen | Alle Ergebnisse, die aus der Ausführung der Aufgabe veröffentlicht wurden. |
error | optional, Zeichenfolge | Wird mit dem Fehlercode gefüllt, falls einer aufgetreten ist. |
date_created | Terminzeit | Wann wurde die Ressource erstellt. |
date_started | optional, datetime | Als die Aufgabenbearbeitung begann. |
date_completed | optional, datetime | Wenn die Aufgabenbearbeitung beendet ist. |
Quelltypen
Wenn die Aufgabe einer Quelle zugeordnet ist, wird der Typ der Quelle auf das Aufgabenattribut source_type
denormalisiert. Auf diese Weise können Abfragen für Aufgaben eines bestimmten Typs vereinfacht werden.
Typen
Der Aufgabentyp ist ein kurzer Abschnitt, der die zugrunde liegende Aufgabe angibt, die in der API ausgeführt wird.
Wenn sich die Aufgabe auf Aktivitäten für eine Ressource bezieht, z. B. das Testen einer Webhook-Konfiguration, wird sie wie webhook_config.test
formatiert.
Wenn die Aufgabe auf eine bestimmte Quelle source_type
Attribut " source_type
die quellenbezogenen Informationen gespeichert, während im Attribut " type
nur die Hauptaktion source_type
wird. Wenn Sie beispielsweise eine Sitzung erstellen, wird eine session.init
Task für eine Quelle vom Typ icloud.account
.
Ziel
Dies gibt das Ziel der zugrunde liegenden Aufgabe an und ist nicht immer festgelegt. Beispielsweise ist das Ziel einer webhook_config.test
die ID der zu testenden webhook-Konfiguration. Bei einer data
für eine icloud.account
Typ icloud.account
handelt es sich um den Datentyp, der wie messages.whatsapp
abgerufen wird.
Zustand
-
pending
Die Aufgabe wurde erstellt, wartet jedoch derzeit in der Warteschlange. -
processing
der Aufgabe wird von einem API-Worker ausgeführt. -
suspended
Die Aufgabe wartet darauf, dass blockierende Aufgaben abgeschlossen sind, bevor sie fortgesetzt werden. -
succeeded
die Aufgabe ohne Fehler abgeschlossen. -
failed
Die Aufgabe hat Fehler festgestellt.
Fehler
Wenn die Aufgabe während der Verarbeitung auf Probleme stößt, wird in diesem Feld der Code des aufgetretenen Fehlers angegeben.
Änderungsprotokoll
2020-02-20
- Major Das
results
des Aufgabenobjekts ist jetzt ein verschachteltes Listenobjekt und kein einfaches Listenattribut mehr.
2019-10-16
- Der
state
Attribut des Task - Objekt kann nun der Wert habensuspended
. Dies zeigt an, dass die API auf den Abschluss von Aktionen durch die Reincubate Relay-Anwendung wartet, z. B. einen Datei-Upload oder eine Metadatenaktualisierung, damit die Aufgabe fortgesetzt und abgeschlossen werden kann.
Rufen Sie GET /tasks/{task ID}
CURL verwenden
curl https://ricloud-api.reincubate.com/tasks/<task ID> \ -H 'Authorization: Token <your key_token>'
Mit Ricloud-Py
import ricloud task = ricloud.Task.retrieve(<task ID>)
Beispielantwort
{ "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
Parameter
Name | Art | Beschreibung |
---|---|---|
key | Schlüssel-ID | Filtern nach der zugeordneten Organisation. |
user | Benutzeridentifikation | Filtern nach dem zugeordneten Benutzer. |
source | Quell-ID | Filtern Sie nach der zugehörigen Quelle. |
session | Session-ID | Filtern Sie nach der zugeordneten Sitzung. |
poll | Umfrage-ID | Filtern Sie nach der eigenen Umfrage. |
source_type | Zeichenfolge | Filtern Sie nach dem Quelltyp. |
type | Zeichenfolge | Filtern Sie nach dem Aufgabentyp. |
state | Zeichenfolge | Filtern Sie nach dem Taskstatus. |
date_created | Datum / Uhrzeit-Filter | Filtern nach Erstellungsdatum der Ressource. |
date_started | Datum / Uhrzeit-Filter | Filtern Sie nach dem Zeitpunkt, zu dem die Aufgabe verarbeitet wurde. |
date_completed | Datum / Uhrzeit-Filter | Filtern nach, wann die Aufgabe die Verarbeitung abgeschlossen hat. |
CURL verwenden
curl https://ricloud-api.reincubate.com/tasks \ -H 'Authorization: Token <your key_token>'
Mit Ricloud-Py
import ricloud tasks = ricloud.Task.list()