2012-04-05 10 views
1

zählt Da es keine Möglichkeit gibt, die Taskqueue zu wissen, programmatisch AppEngine Taskqueue: is there a way to determine the queue depth? nach zählen, ich denke den Cache mit der Warteschlange zu überwachen. Ist es ratsam oder ist es eine Kardinalsünde? (Ich weiß, dass Cache kann nicht 100% zuverlässig sein, 89% Zuverlässigkeit ist für mich in Ordnung)appengine Taskqueue

+0

'der Cache'? Meinst du memcache? Warum müssen Sie wissen, wie viele Aufgaben sich in der Warteschlange befinden? –

+0

yeh, Mem-Cache. Ich picke einige Daten abhängig vom Verfügbarkeits-Zeitstempel und wenn die Daten zur Zeit noch nicht verfügbar sind, wird es bald sein. Daher habe ich die berechnete Aufgabenwarteschlange verwendet und versuche den Wiederholungsversuch der Aufgabenwarteschlange anstelle des regulären Cron-Jobs. Ich möchte auch die CPU-Auslastung eine unnötige Task-Warteschlange reduzieren, daher möchte ich die Task-Warteschlange überwachen. Ich höre alle für die bessere Lösung oder die appeargin idiomatische Art, ein solches Problem zu lösen. –

+0

Entschuldigung, ich verstehe nicht, welcher Teil davon erfordert zu wissen, wie viele Aufgaben in der Warteschlange sind. Könntest Du das erläutern? –

Antwort

1

Es ist keine Frage der Zuverlässigkeit, Cache kann jederzeit gelöscht werden und dann Ihre verlassen mit Null. Sie müssen die Anzahl im Datenspeicher speichern.

Blick in sharding counters für eine Anleitung, wie man auf dem Datenspeicher guten Schreibdurchsatz haben.

+0

Ich benutze TaskQueue als einige Thread-ähnliche Weise Schlaf und Schleife fortsetzen, so zu Datenspeicher schreiben ist Overkill für mich, imho. Mir geht es gut mit hypothetischen 11% Ausfallrate, wo die TaskQueue-Zählung mit 0 verlassen wird. –