우리는 JS 파일을 축소하기 위해 Closure Compiler jar 파일을 사용하고 있습니다. 이 JS 파일은 클라이언트가 설정 화면에서 [저장] 버튼을 누르면 생성됩니다.jar 파일을 실행하는 서비스
각 호출마다 JVM을 시작하기 때문에 Closure Compiler jar 파일을 호출하는 데 3-6 초가 걸립니다. 이것은 너무 길며 아무런 이유없이 ... 부팅이나 첫 번째 호출에서 JVM을 백그라운드에서 계속 실행하는 것이 좋을 것입니다.
실행중인 JVM 머신에서 서비스 등으로 JAR 파일을로드하는 방법이 있습니까? 또는 아마 JVM을 '캐쉬 (cache)'하는 방식으로 다음에 jar이 호출 될 때 새로운 JVM을 시작하지 않고 이전 JVM을 사용합니다.
환경은 Ubuntu 서버, Django, Python입니다.
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