Registrieren Sie sich und kontaktieren Sie den Support, um 100 kostenlose Prüfungen zu erhalten.Kostenlos registrieren
CarrierLookup Workflow-Illustration zu „Concurrency-Warteschlange der Carrier Lookup API für gemeinsam genutzte Account-Slots“
Ein visueller Überblick über den in diesem CarrierLookup Artikel beschriebenen Workflow.

Eine Concurrency-Warteschlange für die Carrier Lookup API sollte alle Worker koordinieren, die einen Account nutzen, anstatt jeden Prozess seine eigene verfügbare Kapazität schätzen zu lassen.

Eine Concurrency-Warteschlange für die Carrier Lookup API sollte alle Worker koordinieren, die einen Account nutzen, anstatt jeden Prozess seine eigene verfügbare Kapazität schätzen zu lassen. CarrierLookup dokumentiert gemeinsam genutzte Echtzeit-Slots für laufende Anfragen sowie eine separate Account-Schranke für Multi-Anfragen. Leiten Sie Einzel- und synchrone Multi-Anfragen über einen accountweiten Controller, bewahren Sie die Eingabereihenfolge für jede Multi-Anfrage und geben Sie einen Slot erst frei, nachdem die Anfrage beendet wurde. Diese Kontrollen verwalten die gleichzeitige Arbeit; sie stellen weder ein Kontingent pro Minute noch ein Versprechen bezüglich der Antwortzeit dar.

Modellieren Sie den Account, nicht einen einzelnen Anwendungs-Worker

Die Abfrage des ursprünglichen Netzbetreibers (Original Carrier Lookup) liefert den Kontext der ursprünglichen Nummernzuweisung: den ursprünglich zugewiesenen Netzbetreiber, den zugrunde liegenden Netzbetreiber, den Nummerntyp und die geografische Zuweisung. Sie meldet nicht den aktuellen Netzbetreiber nach einer Portierung oder ob eine Nummer einen Anruf oder eine Nachricht empfangen kann. Echtzeit bedeutet hier den Anfrage-Antwort-Workflow, nicht eine Live-Netzwerkprüfung. Die Original Carrier Lookup API ist die relevante Produktseite, und die API-Dokumentation sollte die Quelle für aktuelle Integrationsdetails bleiben.

Wenn mehrere Dienste einen API-Account teilen, reicht ein prozessinternes Semaphor nicht aus. Zwei Web-Worker, ein Hintergrundimport und ein Analysetool können jeweils glauben, der Account habe freie Slots. Die dokumentierten öffentlichen Regeln beschreiben fünf gemeinsam genutzte Echtzeit-Slots für laufende Anfragen und eine Multi-Anfrage pro Account. Ein kundenseitiger Controller sollte daher einen einzigen Koordinator auf Account-Ebene verwenden oder einen anderen Mechanismus, der allen beteiligten Workern eine konsistente Sicht auf ausstehende Aufrufe bietet. Die genaue Speicher- oder Warteschlangentechnologie ist eine Entscheidung der Kundenimplementierung.

Die Warteschlange sollte ein Anfrage-Paket mit der übermittelten E.164-Kennung oder den Kennungen, dem Anfragemodus, der Referenz des Anwendungsauftrags und dem Zeitpunkt der Einreihung durch das Team enthalten. Dies sind vorgeschlagene kundeneigene Felder, keine Behauptung über das Antwortschema von CarrierLookup. Vermeiden Sie die Protokollierung vollständiger Nummern oder Anmeldedaten, es sei denn, die Richtlinie der Organisation erfordert und schützt diese.

Trennen Sie die Schranken für Einzel- und Multi-Aufrufe

Eine Einzelabfrage akzeptiert eine E.164-Nummer. Die synchrone Multi-Abfrage akzeptiert 1–100 E.164-Nummern und liefert ein geordnetes Ergebnis in einer Antwort. Beides sind Echtzeitprüfungen, aber der Multi-Weg unterliegt zusätzlich einer accountweiten Einschränkung auf eine Anfrage zur gleichen Zeit. Entwerfen Sie zwei Schranken: einen gemeinsam genutzten Kapazitätszähler für alle laufenden Echtzeit-Anfragen und eine exklusive Schranke für eine Multi-Anfrage. Ein Multi-Aufruf muss die benötigte Kapazität gemäß den dokumentierten Account-Regeln und der exklusiven Multi-Schranke erwerben; die Implementierung sollte beide nach einer abgeschlossenen Antwort oder einem terminalen Fehler gemeinsam freigeben.

Behandeln Sie eine Multi-Anfrage nicht als asynchronen Massendatei-Auftrag. Das separate Produkt für globale Netzbetreiberabfragen akzeptiert TXT- oder CSV-Dateien, bereitet Kennungen vor und erstellt später eine CSV-Datei. Dies gehört zu einem anderen Workflow. Die Seite wie CarrierLookup funktioniert hilft Lesern, diese Modi zu unterscheiden. Wenn die Anwendung einen großen Datei-Auftrag hat, wählen Sie bewusst das dokumentierte Massenprodukt, anstatt eine Datei in die synchrone Warteschlange zu schieben.

Der Koordinator benötigt auch Fairness. Ein konstanter Strom von Einzelanfragen sollte eine bereits eingereihte Multi-Anfrage nicht verhungern lassen, während ein großer Import kleine interaktive Prüfungen nicht unbegrenzt blockieren sollte. Eine kundeneigene Planungsregel könnte Plätze nach Ankunftsreihenfolge reservieren oder eine begrenzte Prioritätsrichtlinie verwenden. Dies ist eine Workflow-Empfehlung, keine Planungsgarantie des Anbieters.

Behandeln Sie Timeouts und Worker-Ausfälle als terminale Warteschlangenereignisse

Eine Einzelanfrage und eine Multi-Anfrage haben dokumentierte Timeout-Obergrenzen in der öffentlichen API. Verwenden Sie die aktuelle API-Dokumentation für die genauen Werte und den Antwortvertrag, anstatt eine normale Abschlusszeit anzunehmen. Ein clientseitiges Timeout kann Unsicherheit darüber hinterlassen, ob der Server den Aufruf abgeschlossen hat, daher sollte ein Controller diese Unsicherheit getrennt von einem abgeschlossenen Netzbetreiber-Ergebnis aufzeichnen. Für die synchrone Multi-Abfrage dokumentiert das Produkt, dass ein Multi-Timeout die gesamte Anfrage ohne Teilergebnisse fehlschlagen lässt und den vollen Betrag zurückgibt. Erstellen Sie keine zeilenweisen Erfolge aus einer unvollständigen Antwort.

Jedes Warteschlangen-Leasing benötigt einen Freigabepfad, selbst wenn ein Anwendungs-Worker abstürzt. Der Controller des Kunden kann den Auftrag als unsicher markieren, die lokale Kapazität freigeben, sobald der Worker als ausgefallen gilt, und die Anfrage an eine Überprüfung oder eine sorgfältig kontrollierte Wiederholungsrichtlinie übergeben. Überfluten Sie den Dienst nach einem Netzwerkvorfall nicht automatisch mit Wiederholungsversuchen. Wenn eine Wiederholung gewählt wird, bewahren Sie die ursprüngliche Referenz des Anwendungsauftrags auf und unterscheiden Sie die spätere Beobachtung von dem früheren unsicheren Versuch.

Eine abgeschlossene Abfrage kann leere Netzbetreiberfelder enthalten und dennoch ein abgeschlossenes, kostenpflichtiges Ergebnis bleiben. Dies ist kein Timeout und sollte keine Wiederholung auslösen, nur um einen nicht leeren Netzbetreiber zu erzwingen. Umgekehrt ist ein abgelehntes Eingabeformat kein „kein Netzbetreiber“-Ergebnis. Die Warteschlange zeichnet den Anfragestatus auf; sie interpretiert die Bedeutung der Abfrage nicht neu.

Überwachen Sie die Warteschlange, ohne ein Ratenlimit zu erfinden

Nützliche kundenseitige Metriken umfassen aktuell laufende Einzelanfragen, ob eine Multi-Anfrage aktiv ist, das Alter der Warteschlange nach Auftragsklasse, abgeschlossene Antworten, Format-Ablehnungen, Timeouts und unsichere Transportausgänge. Diese zeigen, ob die Anwendung die Concurrency respektiert und ob Benutzer auf einen vom Kunden kontrollierten Worker warten. Sie implizieren kein festes Limit für Anfragen pro Minute oder ein tägliches Limit, was die öffentlichen Fakten nicht angeben.

Testen Sie vor dem Rollout zwei Web-Worker, die gleichzeitig Anfragen senden, eine eingereihte Multi-Anfrage während Einzelanfragen aktiv sind, einen Worker-Ausfall vor der Antwort und ein Timeout. Bestätigen Sie, dass nicht mehr als eine Multi-Anfrage für den Account aktiv ist und dass alle erworbenen lokalen Schranken schließlich freigegeben werden. Überprüfen Sie, ob das Ergebnis der übermittelten kanonischen Nummer zugeordnet ist und ob geordnete Multi-Zeilen vor der Aktualisierung von Kontaktdatensätzen abgeglichen werden.

Ein abschließender betrieblicher Hinweis sollte erklären, dass der zurückgegebene Netzbetreiber die ursprüngliche Zuweisung beschreibt. Eine schnelle Warteschlange benötigt dennoch eine präzise Bezeichnung für die ursprüngliche Netzbetreiberzuweisung. Speichern Sie diese mit einer Quelle und einem Prüfzeitpunkt, halten Sie Zuweisungsregion und Stadt getrennt vom Standort einer Person und verwenden Sie andere Nachweise für Fragen zur Kontaktierbarkeit oder Identität.

FAQ

Wie sollten Teams mehrere Worker koordinieren, die einen CarrierLookup-Account nutzen?

Verwenden Sie einen accountweiten Controller, den alle Worker teilen, mit einer gemeinsam genutzten Echtzeit-Kapazitätsschranke und einer exklusiven Schranke für synchrone Multi-Anfragen.

Erzeugt die dokumentierte Concurrency-Regel ein Kontingent pro Minute?

Nein. Sie begrenzt die gleichzeitige Arbeit und gibt keine feste Anzahl von Anfragen pro Minute an.

Kann eine Multi-Anfrage mit Timeout teilweise akzeptiert werden?

Das dokumentierte Multi-Timeout lässt die gesamte Anfrage ohne Teilergebnisse fehlschlagen. Behalten Sie dies als Fehler auf Anfrageebene bei und erfinden Sie keine erfolgreichen Zeilen.

Sollten leere Netzbetreiberfelder eine automatische Wiederholung auslösen?

Nicht von sich aus. Eine abgeschlossene Abfrage mit leeren Zuweisungsfeldern bleibt ein abgeschlossenes Ergebnis; das Team sollte dieses Ergebnis präzise bewahren.

Mehr erfahren

Wählen Sie die Produktinformationen, die zum nächsten Schritt in Ihrem Workflow passen.

Quellen