

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 运行 Deadline 云端工作者代理
<a name="run-worker"></a>

必须先在工作服务器主机上以开发者模式运行 De AWS adline Cloud 工作器代理，然后才能在开发者群中运行提交到队列的作业。

在本教程的其余部分中，您将使用两个 AWS CloudShell 选项卡在开发者群中执行 AWS CLI 操作。在第一个选项卡中，您可以提交作业。在第二个选项卡中，您可以运行工作器代理。

**注意**  
如果您的 CloudShell 会话闲置时间超过 20 分钟，则会话将超时并停止工作器代理。要重新启动工作器代理，请按照以下过程中的说明进行操作。

在启动工作人员代理之前，必须先设置 Deadline Cloud 场、队列和队列。请参阅[创建截止日期云场](create-a-farm.md)。

**在开发者模式下运行工作器代理**

1. 当您的农场在第一个 CloudShell 选项卡中仍处于打开状态时，打开第二个 CloudShell 选项卡，然后创建`demoenv-logs`和`demoenv-persist`目录。

   ```
   mkdir ~/demoenv-logs 
   mkdir ~/demoenv-persist
   ```

1. 从 PyPI 下载并安装 Deadline Cloud 工作器代理包：
**注意**  
On Windows，则需要将代理文件安装到 Python 的全局站点包目录中。目前不支持 Python 虚拟环境。

   ```
   python -m pip install deadline-cloud-worker-agent
   ```

1. 要允许工作器代理为正在运行的作业创建临时目录，请创建一个目录：

   ```
   sudo mkdir /sessions
   sudo chmod 750 /sessions
   sudo chown cloudshell-user /sessions
   ```

1. 使用您添加到的变量`DEV_FARM_ID`在开发者模式下运行 Deadline Cloud 工作器代理`~/.bashrc`。`DEV_CMF_ID`

   ```
   deadline-worker-agent \
       --farm-id $DEV_FARM_ID \
       --fleet-id $DEV_CMF_ID \
       --run-jobs-as-agent-user \
       --logs-dir ~/demoenv-logs \
       --persistence-dir ~/demoenv-persist
   ```

   当工作代理初始化然后轮询 `UpdateWorkerSchedule` API 操作时，将显示以下输出：

   ```
   INFO    Worker Agent starting
   [2024-03-27 15:51:01,292][INFO    ] 👋 Worker Agent starting
   [2024-03-27 15:51:01,292][INFO    ] AgentInfo 
   Python Interpreter: /usr/bin/python3
   Python Version: 3.9.16 (main, Sep  8 2023, 00:00:00)  - [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)]
   Platform: linux
   ...
   [2024-03-27 15:51:02,528][INFO    ] 📥 API.Resp 📥 [deadline:UpdateWorkerSchedule](200) params={'assignedSessions': {}, 'cancelSessionActions': {}, 'updateIntervalSeconds': 15} ...
   [2024-03-27 15:51:17,635][INFO    ] 📥 API.Resp 📥 [deadline:UpdateWorkerSchedule](200) params=(Duplicate removed, see previous response) ...
   [2024-03-27 15:51:32,756][INFO    ] 📥 API.Resp 📥 [deadline:UpdateWorkerSchedule](200) params=(Duplicate removed, see previous response) ...
   ...
   ```

1. 选择您的第一个 CloudShell 选项卡，然后列出车队中的员工。

   ```
   deadline worker list --fleet-id $DEV_CMF_ID
   ```

   将显示如下输出：

   ```
   Displaying 1 of 1 workers starting at 0
   
   - workerId: worker-8c9af877c8734e89914047111f
     status: STARTED
     createdAt: 2023-12-13 20:43:06+00:00
   ```

在生产配置中，Deadline Cloud 工作器代理需要在主机上以管理用户的身份设置多个用户和配置目录。您可以覆盖这些设置，因为您在自己的开发场中运行作业，只有您可以访问这些开发场。

## 后续步骤
<a name="gs-run-worker-agent-next"></a>

现在，您的工作器主机上正在运行工作器代理，您可以向您的工作人员发送作业。您可以：
+ [使用截止日期云提交](submit-a-job.md)使用一个简单的 OpenJD 工作包。
+ [在 Deadline Cloud 中提交带有作业附件的工作](run-jobs-job-attachments.md)它们在使用不同操作系统的工作站之间共享文件。