Ansible中的异步任务

时间:2017-07-12 12:59:18

标签: ansible

我有一个关于在an​​sible中处理异步任务的问题。

假设我打开2个终端,并在两个终端上运行<DataGridComboBoxColumn SelectedValueBinding="{Binding DbId}" DisplayMemberPath="Name" SelectedValuePath="Id" Visibility="Visible"> <DataGridComboBoxColumn.ElementStyle> <Style TargetType="ComboBox"> <Setter Property="ItemsSource" Value="{Binding TestList}"/> </Style> </DataGridComboBoxColumn.ElementStyle> <DataGridComboBoxColumn.EditingElementStyle> <Style TargetType="ComboBox"> <Setter Property="ItemsSource" Value="{Binding TestList}"/> </Style> </DataGridComboBoxColumn.EditingElementStyle> </DataGridComboBoxColumn> 。显然,由于锁定文件,它不会同时运行。

sudo apt-get update

现在,在ansible,我做到了,

luvpreet@DHARI-Inspiron-3542:/etc/ansible$ sudo apt-get update
Reading package lists... Done
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/

现在,永远不应该完成包含这两个连续任务的角色,因为ansible不能同时运行2个更新任务。

但它确实如此,并没有犯任何错误。为什么会这样?

1 个答案:

答案 0 :(得分:0)

正如您在poll: 0中指定的那样使用async: 1,即:即发即弃,仅1秒,您的shell终端会话仅在一秒钟内激活,即在在远程节点运行更新命令的第一秒,它将被终止,从而使第二个任务有机会在接下来的1秒内执行相同操作,从而释放锁定

/var/lib/apt/list/lock

我希望这解释了scenerio :)