0

Foxx アプリからバイナリ ライブラリ (ffmpeg) を実行する必要があります。組み込みモジュールがあるようですが、 Node.js のようなメソッドchild_processはありません。execそうする他の方法はありますか?

前もって感謝します

4

1 に答える 1

1

foxx は同期的であるため、foxx から直接これを行わないようにアドバイスすることしかできません。トランスコーディング プロセスには時間がかかるため、データベース リソースをブロックしたくありません。

これは非同期、つまりノード プロセスで行う必要があります。

スポーン プロセスがどのように機能するかを確認したい場合は、ユニット テスト スイートで見つけることができます。

https://github.com/arangodb/arangodb/blob/devel/js/client/modules/%40arangodb/testutils/process-utils.js#L878

require('internal') => {
executeExternal => launch a process to background
executeExternalAndWait => launch a process and wait for it to finish
killExternal => kill a launched process (only spawned processes can be send signals)
statusExternal => check for the status of an external process, either touch, or wait.
}

生成されたすべてのプロセスはサーバー内のリストに保持され、自己生成されたプロセスのみを操作できます。

最新の ArangoDB では、これを--javascript.allow-admin-executeで許可する必要があります。許可しない場合、実行は拒否されます。

于 2016-09-26T08:44:38.383 に答える