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
-
pendingDie Aufgabe wurde erstellt, wartet jedoch derzeit in der Warteschlange. -
processingder Aufgabe wird von einem API-Worker ausgeführt. -
suspendedDie Aufgabe wartet darauf, dass blockierende Aufgaben abgeschlossen sind, bevor sie fortgesetzt werden. -
succeededdie Aufgabe ohne Fehler abgeschlossen. -
failedDie 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
resultsdes Aufgabenobjekts ist jetzt ein verschachteltes Listenobjekt und kein einfaches Listenattribut mehr.
2019-10-16
- Der
stateAttribut 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()