我正在嘗試運行 2 個子進程,但一個似乎被阻止并最終使節(jié)點 lambda 超時。環(huán)境:在 docker 容器中運行的 AWS 節(jié)點 10 lambda。通過 /opt/bin 目錄中的 lambda 層訪問 ffmpeg 和 ffprobe。child_process.exec 我在 child_process.exec 中運行 ffprobe 以獲取音頻文件的文件格式。我正在使用 exec 因為輸出是一個小的 json 響應(不應該消耗太多內存)。child_process.spawn 在我運行 ffmpeg 以使用 child_process.spawn 將音頻文件轉換為 mp3 后不久。問題是 FFMPEG child_process.spawn 命令在 ffprobe 之后沒有運行(即使 ffprobe 成功完成)。如果我不運行 ffprobe 命令,則 FFMPEG 命令會完美運行。這讓我相信這是我如何處理節(jié)點中的子進程的問題。child_process.exec ffprobe 命令是否可能仍在運行/阻止新的 ffmpeg (child_process.spawn) 命令運行 - 如果是這樣,我該如何檢查?當我訪問 docker 容器中正在運行的進程時,只有新的 ffmpeg 命令似乎正在運行,盡管它不消耗內存并且只是掛起 - 似乎什么也沒做。我什至嘗試從 docker cli 啟動 ffmpeg 命令(避免使用節(jié)點 env),這工作正常并按預期運行。
在 aws node 10 lambda 中執(zhí)行子進程后,節(jié)點生成子進程不執(zhí)行命令
守候你守候我
2022-10-21 09:10:15