1、一、DeadLine 如何工作1.1 The Deadline Repository1.2 Deadline 任务1.2.1 正常工作流程1.2.2 待定的工作流程1.2.3 暂停工作流程1.2.4 失败的工作流程1 2 5 重新排队的工作流程1.2.6 存档工作流程Deadline RepositoryDeadline Repository 是 deadline 的核心。 它存储 deadline 使用的所有信息,如渲染任务,SLAVE 设置,软件插件。 所有的任务调度和管理是通过读和写文件到 Deadline Repository 实现。 DEADLINE 的独特架构允许它运行在不需要服务
2、器应用的环境,因为 DeadLine 可以自动在 Repository 上扫描渲染任务。无服务器的架构因减少单点错误而增强了 DeadLine 的健壮性。 只要 Repository 共享可用,DeadLine 将全效运转。然而,如果你的农场有 50 个以上的渲染节点,或存在性能问题,我们建议您在您的网络中的某台电脑上运行 Deadline Pulse。Deadline Pulse 包含在客户端安装程序中。 Pulse 作为 DeadLine 应用程序与Repository 之间的代理,它有助于减少网络负载并提高 DeadLine 的整体性能。 注意,如果 Pulse 应用程序因某种原因宕机,
3、DeadLine 应用程序将恢复到自动搜索 Repository。无论你是否运行Pulse,DeadLine 都可正常运行。当用户向 DeadLine 提交一个渲染任务时,一个新的任务文件夹及必要的文件将在 Repository 中创建,用于存储任务设置。当一个 Slave接收到渲染任务,在开始渲染前,首先将任务文件夹复制到本地。渲染结束后,Slave 删除本地任务文件夹,继续搜索其他任务。注意,任务依赖的所有外部引用,如材质贴图或其他场景数据,在网络上都应可访问,因为这些文件并不复制到 Repository 上。 此外,渲染输出也不保存到 Repository,所以 Slaves 需要能够访
4、问任务输出路径来存储图像。将在 Render Farm Considerations 文档中 进一步讨论。DeadLine 任务如上所述,当一个任务提交到 DeadLine,它被放在 Repository 中,并可在 DeadLine Monitor 中查看,以及被运行 DeadLine Slave 应用程序的电脑访问。大多数任务可以分解成多个任务渲染,再进行组合。 例如,当渲染一个 3ds Max 动画时,每一帧可以分解为一个单独的任务进行渲染。 这允许多个 Slave 能够在同一个时间渲染相同任务。某些任务不能以此方式分解,如从一个动画的个别帧中创建Quicktime Movie。每个任务
5、在 Repository 中的生命周期内都将包含多种状态,它们是:Queued:任务等待渲染。Active:一个或多个任务正在渲染。Suspended:任务暂停,直到恢复渲染。Pending:任务在渲染计划中,或依赖于其他任务。Completed:任务渲染完成。Failed:任务错误报告达到最大值。Archived:任务不能再修改。Deleted:任务不再存在于 Repository。下面一些例子是一个任务可以遵循的工作方式。关于 Slave 如何选择一个任务的信息,查看 Job Scheduling 章节。正常工作流程1.任务提交到 DeadLine 并存放在 Repository 中,可以
6、在 Monitor中查看到它处于 Queued 状态。2.任务被一个或多个 Slave 接收,其在 Monitor 中的状态变为Active。Active 状态旁边括号内的数字指示当前渲染活动任务的Slave 数量。3.任务作业全部渲染完成后, Monitor 中显示为 Completed 状态。Pending 工作流程1.一个依赖于其他任务的任务提交到 DeadLine 中,它将在 Monitor中显示为 Pending 状态。2.当这个任务所依赖的其他任务完成时,它将在 Monitor 中显示为Queued 状态。3.Slaves 接收到这个任务时,它在 Monitor 中变为 Activ
7、e 状态。状态旁边括号内指示了执行当前渲染任务的 Slave 数量。4.任务作业全部渲染完成后, Monitor 中显示为 Completed 状态。Suspended 工作流程1.任务提交到 DeadLine 并存放至 Repository,在 Monitor 中显示为Queued 状态。2.Slaves 接收到这个任务时,它在 Monitor 中变为 Active 状态。状态旁边括号内指示了执行当前渲染任务的 Slave 数量。3.在 Monitor 中选择该任务,点击右键选中 Suspend Job,该任务暂停。此时在 Monitor 中显示为 Suspended 状态。当一个任务暂停时
8、,Slaves 将完全忽略此任务及与之相关联的作业。4.在 Monitor 中右击该任务并选择 Resume Job,其状态将转换为Queued,并在 Slaves 渲染此任务时进入 Active 状态。5.任务作业全部渲染完成后, Monitor 中显示为 Completed 状态。Failed 工作流程1.任务提交到 DeadLine 并存放至 Repository,在 Monitor 中显示为Queued 状态。2.Slaves 接收到这个任务时,它在 Monitor 中变为 Active 状态。状态旁边括号内指示了执行当前渲染任务的 Slave 数量。3.任务的错误报告达到最大允许数量
9、时,该任务在 Monitor 中的状态转换为 Failed。当任务处于 Failed 状态,Slaves 将完全忽略此任务及与其相关联的作业。4.在 Monitor 中右击该任务并选择 Resume Failed Job,其状态将转换为 Queued,并在 Slaves 渲染此任务时进入 Active 状态。5.任务作业全部渲染完成后, Monitor 中显示为 Completed 状态。Requeued 工作流程1.任务提交到 DeadLine 并存放至 Repository,在 Monitor 中显示为Queued 状态。2.Slaves 接收到这个任务时,它在 Monitor 中变为 A
10、ctive 状态。状态旁边括号内指示了执行当前渲染任务的 Slave 数量。3.任务作业全部渲染完成后, Monitor 中显示为 Completed 状态。4.在 Monitor 中右击作业,使一个或多个任务作业重新排队。重新排队渲染的原因可能是不满意渲染输出(例如 Slave 的软件错误配置等)。Monitor 中的状态将转换为 Queued。在 Slaves 渲染此任务时进入Active 状态。Archived 工作流程1.任务提交到 DeadLine 并存放至 Repository,在 Monitor 中显示为Queued 状态。2.Slaves 接收到这个任务时,它在 Monitor 中变为 Active 状态。状态旁边括号内指示了执行当前渲染任务的 Slave 数量。3.任务作业全部渲染完成后, Monitor 中显示为 Completed 状态。4.在 Monitor 中右击任务,选择 Archive Job。其状态转换为Archived。存档的任务不能再更改其属性和状态,但可以查看输出或找回任务提交的数据。