我有一个关于在ansible中处理异步任务的问题。
假设我打开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个更新任务。
但它确实如此,并没有犯任何错误。为什么会这样?
答案 0 :(得分:0)
正如您在poll: 0
中指定的那样使用async: 1
,即:即发即弃,仅1秒,您的shell终端会话仅在一秒钟内激活,即在在远程节点运行更新命令的第一秒,它将被终止,从而使第二个任务有机会在接下来的1秒内执行相同操作,从而释放锁定
/var/lib/apt/list/lock
我希望这解释了scenerio :)