部落格

使用 Fix with AI:發布失敗時一鍵處理

在 Mythex 發布失敗時,對話框現在會告訴你實際發生了什麼,而且每次失敗都會提供兩個按鈕:Fix with AI 和 Try again。Fix with AI 會把失敗內容以及你的應用程式印出的訊息交給代理,讓它修正專案並重新發布;如果你的應用程式本身沒有問題,它就直接重新發布。我們也不再把實際上出在應用程式裡的問題歸咎於「我們這邊」,並開始能抓到那些在上線幾分鐘後才壞掉的應用程式。

有哪些改變

每一種失敗都有 Fix with AI

以前,有些失敗會顯示 Fix with AI,其他的只顯示 Try again。這種區分是依據失敗看起來是誰的責任:如果像是我們這邊的問題,我們不想讓代理花你的點數去追查其實沒有問題的程式碼。

結果是你得自己判斷遇到的是哪一種失敗。現在每一種失敗都會提供兩個按鈕。代理會拿到失敗的類型和背後的輸出,所以當應用程式真的有問題時它會修正應用程式,沒有問題時則直接重新發布。你不需要判斷是哪一種。

例外是那些答案不在程式碼裡的情況。名稱已被使用時,會建議其他名稱;點數用完時,會提供補充點數的方式。

說明發生了什麼的訊息

過去有幾種失敗最後都變成「我們這邊的問題,請重新發布」,這並不正確,而且重新發布從來沒有幫助。現在它們各自有專屬的訊息:

  • 「你的應用程式在發布後沒有啟動。」 應用程式已發布,但從未開始接受連線。最常見的原因是它監聽了不同的連接埠,或只監聽 localhost。已發布的應用程式必須監聽 0.0.0.0 以及 $PORT 中的連接埠。我們不再只是等待固定時間然後祈禱,而是會實際檢查應用程式是否在其連接埠上接受連線。
  • 「這個檔案太大」/檔案數量過多。 靜態網站對每個檔案有大小限制(依網站類型約 25 至 30 MB),並且最多 20,000 個檔案。我們現在會在上傳前,以同樣的方式測量所有類型檔案的資料夾,訊息會列出所有超過限制的檔案。
  • 「你的應用程式在啟動後立即停止。」 通常是缺少設定,例如環境變數或機密,或是第一次請求時就當機,又或是啟動指令有錯誤。

偵測上線後才壞掉的應用程式

發布可能成功,但應用程式幾分鐘後才失敗:它持續當機,或雖然在執行卻停止接受連線。Mythex 會定期檢查已發布的應用程式。如果應用程式在幾分鐘內反覆當機,或正在執行卻沒有接受任何連線,發布會被標記為失敗,你會收到一封電子郵件,專案也會顯示該訊息以及 Fix with AI。

應用程式自行恢復的單次當機不會被算作發布失敗。如果是因為應用程式記憶體不足,你會另外收到一封相關郵件。

當我們把上線中的應用程式標記為失敗時,也會保存當下應用程式印出的內容。你不會看到這些原始輸出,但它正是 Fix with AI 交給代理的內容,所以代理會從真正的錯誤開始,而不是靠猜的。

如何使用

  1. 照常按下 Publish。
  2. 如果失敗,請閱讀對話框中的訊息。它的目的是告訴你發生了什麼,而不只是說有東西出錯。
  3. 點選 Fix with AI。代理會讀取建置輸出或應用程式的記錄,修正專案,之後你就可以重新發布。
  4. 如果訊息表示你的應用程式沒有問題,例如「發布忙碌中,請稍候」或「發布已中斷」,通常 Try again 就足夠了。
  5. 如果你收到郵件說上線的應用程式持續當機,請打開專案:同樣的訊息和 Fix with AI 都已經在那裡等你。

重新發布時,請保留相同的連結名稱,除非訊息表示名稱本身就是問題所在。

為什麼要做這個

發布失敗通常是一個人遇到的第一道真正的障礙。應用程式在預覽中運作正常,他們按下發布,它卻沒有起來。對非工程師來說,「去看記錄」並不是他們能執行的建議。Fix with AI 把那一刻變成一次點擊,而誠實的訊息則確保你讀到時,指向的是正確的問題。

限制

  • Fix with AI 會使用代理,因此和其他訊息一樣會消耗點數。
  • 它可以修正專案中的內容:程式碼、設定、啟動指令。它無法修正已被使用的連結名稱、未驗證的電子郵件,或已經用完的點數餘額。
  • 有些問題需要你做決定,例如要把大型檔案移到 Storage,還是把它變小。

每一則訊息以及該如何處理,都記載在文件中:發布疑難排解。若想了解更廣泛的除錯方法,請參閱如何對 AI 建置的應用程式除錯。

Mythex · Pricing · 用 AI 打造任何東西 · 網站與應用程式範本 · Mythex 比較 · AI 應用程式開發詞彙表 · 免費的 AI 應用程式開發工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港)