跳到正文
TURNKEYGNU / LINUX
应用文档博客截图GitHubTurnKey Hub
文中文
EnglishEspañol中文日本語PortuguêsDeutsch
ưμ㼯A/经常问的问题

文档

经常问的问题

什么是任务?

任务是工作序列。 每个任务本质上只是一个空壳命令, 将任务命令附加到任务输入参数中来创建该命令 。 例如,考虑以下云层任务:

seq 3 | cloudtask echo

下表3 数据 打印从 1 到 3 的顺序, 并分别显示在云盘附件的单行上 复声 命令创建三个命令:

echo 1
echo 2
echo 3

每个岗位指挥部都应该独立,这意味着它不应该依赖在之前或之后运行的任何其他岗位指挥部来运行某个特定的工人. 执行命令和分配任务命令都取决于云表。 如果任务被分拆为多个工人(例如 --split=3),则每个任务命令很可能会被执行到不同的服务器上.

任务命令可能不需要任何用户交互. Cloud task 无法与任务命令交互, 因此任何试图用户交互( 如确认对话框) 都会挂起任务, 直到配置的 --timeout 任务结束(1小时) )),该词被默认.

我该如何为工人准备工作?

在新的 TurnKey Core 部署上安装和测试您工作命令所依赖的所有软件(例如软件包、自定义脚本等) 。 这是您的主工 。

使用主机备份 TKLBAM 密码,然后将其备份 ID 传递到云表任务,这样它就可以恢复它自动发射的任何工人的备份。

您可以用 --pre 命令(例如安装一个包)来替代或补充一个 TKLBAM 恢复,并且/或者在工人的文件系统中应用一个 --overlay.

我如何提供工作命令 与所需的输入数据?

少量输入数据可能存储在TKLBAM备份中,或者在覆盖中转移给工人.

对于数量较多的输入数据,建议从网络上提取数据(例如从文件服务器或亚马逊S3).

我该把工作命令的有用最终产品存放在哪里?

工作应该将有用的最终产品,例如文件,转移到网络上的外部存储资源。

工人身上的任何硬盘存储空间都应视为临时的,因为任何自动发射的工人在任务结束时都将连同其内装物一起被摧毁。 其临时存储空间。

例如,如果一个任务在本地文件系统中创建文件,这些文件在工人被摧毁时会丢失,除非这些文件首先通过网络上传到文件服务器, 或到亚马逊S3, 等.

任务中的任何控制台输出(如打印语句)都会自动通过Cloudtask登录.

如果工作失败怎么办?

如果任务命令返回非零退出代码, 任务会被视为失败。 失败的任务不会被重试 。 劳动合同只是登记,在会议结束时,工作失败的总人数也报告在案,然后劳动者继续从事下一个工作。

工作在工人之间是否平等分配?

不一定,工人从一队工作里抽出工作命令,先来先到。 工人在完成前一份工作后,会从队列中抓下一份工作。 快速工人或获得较短工作的工人可能从事比慢工人或获得更长工作的工人更多的工作。

云岗如何对工人进行认证?.

云盘任务日志进入SSH上空的远程服务器. 它假设它可以使用SSH密钥认证(例如,你的SSH密钥已被添加到工人授权的密钥中)在没有密码的情况下完成此任务. 不支持密码认证 。

在用户配置文件的章节中, 枢纽允许您配置一个或多个 SSH 公共密钥, 这些密钥将被添加到任何启动的云服务器的授权密钥中 。

所以我需要把我的私密SSH密钥 放在我运行云盘任务的任何远程服务器上?

另一种安全性更高的选择是使用SSH代理转发器登录到远程服务器:

ssh -A remote-server

转发本地的SSH代理器会让远程服务器使用您的SSH密钥,而不会离开您的个人电脑的安全.

如果工人失败呢?

云岗并不取决于任何单一劳动者的可靠性,如果劳动者在经营某项工作时失败,则该工作将重新分配给剩余劳动者之一.

当云盘发现,工人不再有能力执行SSH号(即云盘工人定期执行)命令时,则被视为失败。

网络路线问题使得工人无法接触,软件问题(如内核恐慌)或关键性能问题都无关紧要。 工人的记忆力用完了 被打得一团糟 连SSH的命令都无法接受

和通常一样,云岗公司负责摧毁它所发射的工人。 一个失败的工人将立即被摧毁。

我一定要用"枢纽"来发动工人吗?

不,这只是最简单的方法,Cloudtask可以通过--workers选项接受一个任意的IP地址列表.

我能把发射前的工人和自动发射的工人混合起来吗?

对 如果--split大于您通过--workers选项提供的发射前工人人数,Cloudtask将推出额外的工人来满足配置的 分头。

例如,如果您提供一份5个提前发射的工人IP地址列表,并指定任务划分为15个,那么Cloudtask将自动启动另外10个工人.

工人何时自动被摧毁?

为了尽量减少云服务器使用费,云任务一旦耗尽工作,就会摧毁它所发射的工人.

但云任务只承担它自动发射的工人的毁灭责任. 也可以使用云表-发射工指令手动发射工人,并使用--workers选项将工人传递到云表. 在这种情况下,您可以对工人的破坏负责(例如,使用云层任务-破坏-工人命令)。

我该怎么中止任务?

您可以在任何时候安全地中止任务 :

  1. 按下 CTRL-C 键于云塔任务执行所在的操纵台上.
  2. 使用 kill 发送 TERM 信号到云任务会话 pid 。

我放弃任务后会怎样?

执行当前所有运行的工作将被立即中止。 任何由云表自动启动的工人实例都会尽快被销毁 。

为了让一个已中止的会话在稍后恢复,任务会话中会保存当前状态. 国家说明哪些工作已经完成,哪些工作仍在待决状态。

当任务恢复时,任何中止的工作将与其他待完成的工作一起重新执行。

中止任务并非立即,因为安全关闭任务需要几秒钟到几分钟的时间。 例如,待决状态中的EC2实例不能被销毁,因此云盘必须等待它们先到达运行状态.

TURNKEYGNU / LINUX

无需从零开始,掌控自己的基础设施。

探索 TurnKey
关于文档常见问题博客GitHub
自由开源默认安全随时可部署