Dies ist eine Fortsetzung von Probleme und Gegenmaßnahmen für die Entwicklung von Smartphone-App-Spielen Teil 1.
Ich bin derzeit der Leiter des Serverteams, aber das Problem ist die Verwaltung der Mitgliederaufgaben.
Aufgaben werden im Backlog verwaltet, indem Sie sich jeden Morgen das Gantt-Diagramm ansehen.
Selbst wenn Sie eine Basisaufgabe erstellen, lassen Sie die verantwortliche Person nicht zugewiesen und bitten Sie das Mitglied, das die Aufgabe beendet hat, die Aufgabe auszuführen, der die verantwortliche Person nicht zugewiesen ist.
Die erstellte Aufgabe wird den Mitgliedern zugewiesen und die folgenden Statusübergänge werden ausgeführt.
Status | Erläuterung |
---|---|
Standard(rot) | Der Status, in dem die Aufgabe erstellt wurde. Auch wenn die verantwortliche Person berührt wird, bleibt sie so wie sie ist |
wird bearbeitet(Blau) | 担当者がタスクを開始しだしたら、担当者がwird bearbeitetにする |
Verarbeitet(Grün) | 担当者がタスクを完了した場合、担当者がVerarbeitetにする |
Erledigt | 処理済みのものを、確認し、リーダがErledigtにする。担当者は実装した本人にし、変えない |
Auf diese Weise können Sie überprüfen, welche Aufgabe das Mitglied später bearbeitet hat, indem Sie nach der verantwortlichen Person filtern. Dies ist für den Rückblick praktisch.
Zu beachten ist, dass alle Aufgaben, die ausgeführt werden müssen, im Backlog und im Gantt-Diagramm des Backlogs mit einem geeigneten Datum für die Zukunft abgelegt werden. Ich werde das niemals vergessen! Sollte sein.
Ein häufiges Muster ist, dass der Client die App aufgrund einer Serverantwort zum Absturz gebracht hat (500 oder etwas kam zurück), aber überprüfen Sie es. In einigen Fällen, z. B. bei einem Bericht des Debuggers, tritt eine Zeitverzögerung auf, sodass es schwierig ist, die Anforderung zu ermitteln. Selbst wenn Sie eine ** Benutzer-ID ** erhalten, ist es schwierig, aus vielen Anfragen heraus zu suchen.
Das Folgende kann als Maßnahme dafür angesehen werden.
Ursprünglich von anderen Teams verwendet, schien es praktisch zu sein, also habe ich es portiert und die Mitglieder des Teams gebeten, es zu verbessern.
Sie können die an den Server gesendeten Anforderungen nach Benutzer-ID und Suche eingrenzen. Außerdem wird die Verarbeitungszeit des Servers aufgezeichnet, sodass Sie Anforderungen mit langsamer Antwort filtern können.
Drücken Sie auf das geöffnete Menü, um den Inhalt der Anfrage und Antwort anzuzeigen.
Das Obige ist nützlich, da der Client die Anforderung und Antwort auch intuitiv sehen kann.
Das Unternehmen nutzt Sentry als Service, um Ausnahmen abzufangen und aufzuzeichnen.
Beim Senden dieses Sentry-Protokolls kann die Benutzer-ID auch als benutzerdefinierte Metrik gesendet werden.
class ErrorHandleMiddleware(object):
...
def process_exception(self, request, exception):
if not self._can_emit(exception):
return
data = self._gen_data(request)
if getattr(request, 'device_id', None):
tags = {'device_id': request.device_id}
else:
tags = None
client.captureException(data=data,
tags=tags,
exc_info=sys.exc_info())
...
Auf diese Weise können Sie den Fehler finden, indem Sie nach Benutzer-ID suchen.
Wenn eine Ausnahme auftritt, werden verschiedene Protokolle an Sentry gesendet und können wie folgt angezeigt werden.
Auch in New Relic [hier](http://qiita.com/wapa5pow/items/0a4132c62d807286af9d#%E3%82%B1%E3%83%BC%E3%82%B93-%E4%BE%8B%E5%A4% 96% E3% 81% 8C% E7% 99% BA% E7% 94% 9F% E3% 81% 97% E3% 81% 9F% E3% 81% A8% E3% 81% 8D% E3% 81% AB% E3% 81% 9D% E3% 81% AE% E3% 83% 97% E3% 83% AC% E3% 82% A4% E3% 83% A4% E3% 83% BCid% E3% 81% 8C% E7% Sie können die Benutzer-ID senden, indem Sie beispielsweise 9F% A5% E3% 82% 8A% E3% 81% 9F% E3% 81% 84) ausführen.
[Vorher geschrieben](http://qiita.com/wapa5pow/items/e3ef018af270cc2ad014#%E3%82%B1%E3%83%BC%E3%82%B91-%E3%82%A2%E3%83% 97% E3% 83% AA% E3% 82% B1% E3% 83% BC% E3% 82% B7% E3% 83% A7% E3% 83% B3% E3% 81% AE% E5% BF% 9C% E7% AD% 94% E3% 81% 8C% E9% 81% 85% E3% 81% 84% E3% 81% 91% E3% 81% A9% E3% 82% 82% E3% 81% A3% E3% 81% A8% E6% 97% A9% E3% 81% 8F% E3% 81% AA% E3% 82% 89% E3% 81% AA% E3% 81% 84% E3% 81% 8B) Ich denke du solltest es benutzen.
Ich denke, Sie sollten einen Belastungstest machen. Heuschrecke ist in Python geschrieben und es fühlt sich gut an. Ich werde das Know-how hier separat schreiben.
Beim Testen in einer Entwicklungsumgebung möchten Sie möglicherweise dieselben Benutzerinformationen wie in einer Produktionsumgebung verwenden. Zum Beispiel wurde das Level erhöht oder die angegebene Einheit ist im Besitz.
Das Obige kann auf dem Verwaltungsbildschirm realisiert werden, und der Import / Export kann mit json erfolgen.
Recommended Posts