2017-12-05 7 views
0

"webpage1.php"파이썬 객체의 반복 시작 방지하는 방법 :페소 shell_exec 파이썬 코드 -

shell_exec("\usr\local\bin\python3.5 code1.py") 

"code1.py"에서을 :

import bigClass 
obj1 = bigClass() # costs >1 minute to initiate 
obj1.dosomething() 

이 문제는 그 때마다입니다 webpage1은 웹 사이트 방문객에 의해 호출되며, bigClass 객체는 많은 시간을 들여 신선한 상태에서 시작됩니다.

이 obj1을 미리 시작한 방법이 있으며 shell_exec simple은 핸들을 가져 와서 해당 메서드를 호출합니까? 오브젝트가 글로벌 한 아니기 때문에

+0

글쎄, PHP와는 아무런 관계가 없다. 파이썬 스크립트를 계속해서 반복해서 호출 할 수도 있기 때문이다. 어쩌면 클래스의 실제 내용이 너무 긴지에 따라 "bigClass"의 초기화를 캐시 할 수 있기 때문이다. 결과가 항상 같으면 PHP 스크립트도 캐시 할 수 있습니다. – xander

+0

어떻게 캐시합니까? 피클 obj1? bigClass는 자연어 처리 모듈입니다. 왜 그렇게 오래 걸리는 것입니까? –

+0

"code1.py"스크립트가 수행하는 작업에 따라 달라집니다. 결과가 항상 동일하면 파일에 직접 캐시하거나 도대체 무엇이. 물론 PHP 자체에 대해 여러 가지 다양한 캐싱 솔루션이 있습니다. 예를 들어 PHP 결과 캐싱과 같은 다양한 기능을 사용할 수 있습니다. – xander

답변

0

피클은 해결책이 아니다. Pickle은 로컬 객체를 처리 할 수 ​​없습니다. 큰 NLP 클래스를 빠르게 초기화하는 데 더 많은 메모리가있는 비싼 서버를 구입하면됩니다.