Heim > Artikel > Backend-Entwicklung > Wie gehe ich mit Dateien um, die vom Anzeigehintergrundprogramm in Echtzeit generiert werden?
Ich schreibe ein PHP-Programm. Seine Funktion besteht darin, im Hintergrund ein Berechnungsprogramm aufzurufen, nachdem Parameter vom Frontend empfangen wurden, und ein Bild basierend auf diesen Parametern zu generieren (dieser Vorgang dauert eine bestimmte Zeit, etwa 2 Sekunden). mehr).
Schließlich muss ich auf der Benutzeroberfläche warten, bis das Bild generiert wurde, und es dann in einem Div anzeigen.
Das Problem ist also: Während der Bildgenerierung ist die Schnittstelle nicht reaktionsfähig.
Außerdem habe ich keine Möglichkeit, das zu wissen, wenn das Programm nicht ausgeführt werden kann
Aber ich finde, dass diese Methode sehr dumm ist, und wenn sie fehlschlägt, wird es lange dauern, bis man es weiß.
Ich möchte also fragen: Haben Sie gute Vorschläge oder gute Implementierungsmethoden, um die Benutzererfahrung dieses Verarbeitungsprozesses zu verbessern?
Antwortinhalt:
Schließlich muss ich auf der Benutzeroberfläche warten, bis das Bild generiert wurde, und es dann in einem Div anzeigen.
Das Problem ist also: Während der Bildgenerierung reagiert die Schnittstelle nicht.
Außerdem habe ich keine Möglichkeit, das zu wissen, wenn das Programm nicht ausgeführt werden kann
Lösungen zum Ausprobieren
Aber ich finde, dass diese Methode sehr dumm ist, und wenn sie fehlschlägt, wird es lange dauern, bis man es weiß.
Ich möchte also fragen: Haben Sie gute Vorschläge oder gute Implementierungsmethoden, um die Benutzererfahrung dieses Verarbeitungsprozesses zu verbessern?
<code>try: #尝试执行下面代码,若失败,执行except里的代码 # 这里写创建图片的逻辑,image = ... return success(message='Done.',data=image) #返回成功消息和图片 except Exception as ex: #若发生错误 logger(ex) #记录错误文档 return fail(message='Error.') #马上返回失败消息,而不是等10秒</code>Ajax kann gelöst werden, Erfolgs- und Fehlerrückrufe werden verarbeitet und die neue Version verfügt auch über eine Timeout-Verarbeitung