私たちはJSファイルを縮小するためにClosure Compiler jarファイルを使用しています。 これらのJSファイルは、クライアントが設定画面の[保存]ボタンを押すと生成されます。jarファイルを実行するサービス
各呼び出しごとにJVMを起動するため、Closure Compiler jarファイルの呼び出しには3〜6秒かかります。これは時間がかかり、正当な理由がない...私は起動時や最初の呼び出し時にバックグラウンドでJVMを稼働させ続けることがうれしい。
実行中のJVMマシンからサービスなどのJARファイルをロードする方法はありますか?またはおそらく、JVMを「キャッシュ」して、次にJARが呼び出されたときに新しいJVMを起動するのではなく、前のJVMを使用するようにします。
環境はUbuntuサーバーのDjango、Pythonです。 ここでjarファイルを呼び出し、現在のコードは次のとおりです。
import time, subprocess, random
# run google closure compiler
jarjs = os.path.join(ROOT_DIR, "compiler.jar")
fn_min = fn_max.replace('.js','.min.js')
p = subprocess.Popen(['java','-jar',jarjs,'--jscomp_off','internetExplorerChecks','--compilation_level','SIMPLE_OPTIMIZATIONS','--js',fn_max,'--js_output_file',fn_min], stdout=subprocess.PIPE,stderr=subprocess.PIPE)
out, err = p.communicate()
最初にドリップを試みました。なぜなら、統合は簡単ではないからです。スピードの大幅な改善はなかった。 Gradleには、プロダクションには適していないと書かれています。特に、デーモンをオンにした場合はそうではありません。なぜそれが分かっていますか? – oriadam
@oriadam、あなたはこの声明とのリンクを提供できますか? – SerCe
SerCe、ここ:https://docs.gradle.org/current/userguide/gradle_daemon.html – oriadam