-
pip를 통해서 jennifer-python을 설치한다.
.. code:: sh
$ pip install jennifer-python
$ cat jennifer.ini
[JENNIFER]
server_address = 127.0.0.1
server_port = 5000
domain_id = 1000
inst_id = -1
# log_dir = /tmp
# service_dump_dir = /tmp
-
설정 방법
위의 명령어를 수행하면 jennifer-admin
\ 이라는 도구가 함께 설치된다.
그리고 이 명령어를 통해 jennifer-python 모듈이 제니퍼 데이터 서버로 연결을 하기 위해
필요한 정보를 담은 설정 파일을 만들 수 있다.
.. code:: sh
$ jennifer-admin generate-config
해당 명령어를 실행하면 jennifer.ini
\ 파일이 생성된다. 생성된
파일의 각 필드는 다음의 의미를 갖는다.
+-----------------------------------+----------------------------------------+
| Field | Description |
+===================================+========================================+
| server_address | data server의 IP |
+-----------------------------------+----------------------------------------+
| server_port | data server의 port |
+-----------------------------------+----------------------------------------+
| domain_id | 도메인 ID, 테스트를 신청하면 |
| | 제니퍼에서 제공한다. |
+-----------------------------------+----------------------------------------+
| inst_id | 인스턴스의 아이디 |
+-----------------------------------+----------------------------------------+
-
inst_id
\ 의 설정 방법
인스턴스 ID는 Data server가 agent를 식별하기 uint16 범위의 숫자 값이다.
만약 이 값을 -1로 설정하면 Data server 측에서 자동으로 생성한 고유 ID를 할당한다.
-
실행
위 과정에서 생성한 설정 파일을 가지고 이제 JENNIFER를 실행할 수 있다.
.. code:: sh
$ JENNIFER_CONFIG_FILE=<설정 파일 경로> jennifer-admin run <python 실행 코드>
$ JENNIFER_CONFIG_FILE=<설정 파일 경로> jennifer-admin runasync <python 실행 코드>
<설정 파일 경로>
\ 는 위에서 생성한 설정 파일의 경로를 의미한다.
<python 실행 코드>
\ 는 기존에 파이썬 웹 애플리케이션 서버를 실행하던 커맨드(예: python manage.py runserver, uwsgi -i uwsgi.ini,
…)를 의미한다.
예를 들어, jennifer.ini 파일이 /home/user/jennifer 디렉터리에 위치하고, 기존에 파이썬 응용 프로그램을 "uwsgi -i uwsgi.ini"로 실행했다면 다음과 같이 실행한다.
.. code:: sh
$ JENNIFER_CONFIG_FILE=/home/user/jennifer/jennifer.ini jennifer-admin run uwsgi -i uwsgi.ini
반면, uvicorn과 같은 비동기 기반의 호스팅 환경이라면 "runasync" 옵션을 이용해 다음과 같이 실행한다.
.. code:: sh
$ JENNIFER_CONFIG_FILE=/home/user/jennifer/jennifer.ini jennifer-admin runasync uvicorn --loop asyncio main:app