当使用JupyterHub时,Service会被定义为与Hub的REST API交互的进程。Service可能实现特定动作或任务,比如关闭single user notebook server等。这里就通过cull_idle_servers作为说明。

API Token

在运行外部service时,首先需要创建API token。

在0.6.0版本中,生成API token

openssl rand -hex 32

在0.8.0版本中,出现生成API token的用户界面。

API token通常与特定用户关联,配置jupyterhub_config.py

c.JupyterHub.services = [
    {'name': 'adding-users', 'api_token': 'super-secret-token'},
]

重启JupyterHub,在启动过程中会看到日志

Adding API token for <username>

配置cull-idle

配置jupyterhub_config.py

c.JupyterHub.services = [
    {
        'name': 'cull-idle',
        'admin': True,
        'command': 'python3 cull_idle_servers.py --timeout=3600'.split(),
    }
]

生成API token,并保存到JUPYTERHUB_API_TOKEN

export JUPYTERHUB_API_TOKEN='token'
python3 cull_idle_servers.py [--timeout=900] [--url=http://127.0.0.1:8081/hub/api]

【参考】

1。 jupyterhub:external service:http://jupyterhub.readthedocs.io/en/latest/getting-started/services-basics.html

results matching ""

    No results matching ""