clearml-docs/docs/clearml_agent/clearml_agent_daemon.md
2022-08-15 17:31:02 +03:00

224 lines
6.1 KiB
Markdown

---
title: daemon
---
This reference page provides detailed information about ClearML Agent's `daemon` subcommand, which you can use to
run a worker, optionally in a Docker container, listening to a queue.
## Syntax
```bash
clearml-agent daemon [-h] [--foreground] [--queue QUEUES [QUEUES ...]] [--order-fairness]
[--standalone-mode] [--services-mode [SERVICES_MODE]]
[--child-report-tags CHILD_REPORT_TAGS [CHILD_REPORT_TAGS ...]]
[--create-queue] [--detached] [--stop] [--dynamic-gpus]
[--uptime [UPTIME [UPTIME ...]]] [--downtime [DOWNTIME [DOWNTIME ...]]]
[--status] [--use-owner-token] [-O]
[--git-user GIT_USER] [--git-pass GIT_PASS]
[--log-level {DEBUG,INFO,WARN,WARNING,ERROR,CRITICAL}]
[--gpus GPUS] [--cpu-only]
[--docker [DOCKER [DOCKER ...]]] [--force-current-version]
```
## Arguments
---
**`child-report-tags`**
List of tags to send with the status reports from the worker that executes a task.
---
**`cpu-only`**
* If running in Docker mode (see the `docker` option), disable GPU access for the Docker container or virtual environment.
---
**`create-queue`**
* If the queue name provided does not exist in the server, create and use it.
---
**`detached`**
* Run agent in the background. The `clearml-agent` command returns immediately.
---
**`docker`**
* Run in Docker mode. Execute the Task inside a Docker container.
To specify the image name and optional arguments, either:
* use `--docker <image_name> <args>` on the command line, or
* use `--docker` on the command line, and specify the image name and arguments in the configuration file.
Environment variable settings for Dockers:
* `CLEARML_DOCKER_SKIP_GPUS_FLAG` - Ignore the `gpus` flag inside the Docker container. This also allows you to execute **ClearML Agent** using Docker versions earlier than 19.03.
* `NVIDIA_VISIBLE_DEVICES` - Limit GPU visibility for the Docker container.
* `ClearML_AGENT_GIT_USER` and `ClearML_AGENT_GIT_PASS` - Pass these credentials to the Docker container at execution.
---
**`downtime`**
* Specify downtime for clearml-agent in `<hours> <days>` format.
For example, use `09-13 TUE` to set Tuesday's downtime to 09-13.
:::info
* This feature is available under the ClearML Enterprise plan
* Make sure to have only one of uptime / downtime configuration and not both.
:::
---
**`dynamic-gpus`**
* Allow to dynamically allocate gpus based on queue properties, configure with `--queue <queue_name>=<num_gpus>`.
For example: `--dynamic-gpus --queue dual_gpus=2 single_gpu=1`
:::info Enterprise Feature
This feature is available under the ClearML Enterprise plan
:::
---
**`force-current-version`**
* To use your current version of **ClearML Agent** when running in Docker mode (the `docker` argument is specified),
instead of the latest **ClearML Agent** version which is automatically installed, specify `force-current-version`.
For example, if your current **ClearML Agent** version is `0.13.1`, but the latest version of **ClearML Agent** is
`0.13.3`, use `--force-current-version` and your Task will execute in the Docker container with **ClearML Agent** version `0.13.1`.
---
**`foreground`**
* Pipe full log to stdout/stderr. Do not use this option if running in background.
---
**`git-pass`**
* Git password for repository access.
---
**`git-user`**
* Git username for repository access.
---
**`gpus`**
* If running in Docker mode (see the `docker` option), specify the active GPUs for the Docker containers to use.
These are the same GPUs set in the `NVIDIA_VISIBLE_DEVICES` environment variable.
For example:
* `--gpus 0`
* `--gpu 0,1,2`
* `--gpus all`
---
**`h`, `help`**
* Get help for this command.
---
**`log-level`**
* SDK log level. The values are:
* `DEBUG`
* `INFO`
* `WARN`
* `WARNING`
* `ERROR`
* `CRITICAL`
---
**`O`**
* Compile optimized pyc code (see python documentation). Repeat for more optimization.
---
**`order-fairness`**
* Pull from each queue in a round-robin order, instead of priority order.
---
**`queue`**
* Specify the queues which the worker is listening to. The values can be any combination of:
* One or more queue IDs.
* One or more queue names.
* `default` indicating the default queue.
---
**`services-mode`** <a class="tr_top_negative" name="services_mode"></a>
* Launch multiple long-term docker services. Spin multiple, simultaneous Tasks, each in its own Docker container, on the same machine. Each Task will be registered
as a new node in the system, providing tracking and transparency capabilities. Start up and shutdown of each Docker is
verified. Use in CPU mode (`--cpu-only`), only.
* To limit the number of simultaneous tasks run in services mode, pass the maximum number immediately after the
`--services-mode` option (e.g. `--services-mode 5`)
---
**`standalone-mode`**
* Do not use any network connects. This assumes all requirements are pre-installed.
---
**`status`**
* Print the worker's schedule (uptime properties, server's runtime properties and listening queues)
---
**`stop`**
* Terminate a running ClearML Agent, if other arguments are the same. If no additional arguments are provided, agents are
terminated in lexicographical order.
---
**`uptime`**
* Specify uptime for clearml-agent in `<hours> <days>` format. for example, use `17-20 TUE` to set Tuesday's
uptime to 17-20
:::info
* This feature is available under the ClearML Enterprise plan
* Make sure to have only one of uptime / downtime configuration and not both.
:::
---
**`use-owner-token`**
Generate and use the task owner's token for the execution of the task.