如何为MFA用户设置Ansible API tqm.run()超时?

2024-04-28 07:34:02 发布

您现在位置:Python中文网/ 问答频道 /正文

当“ansible\u user”被错误地设置为MFA用户时,tqm将无限期挂起。
我在“task\u queue\u manager.py”中设置了一个断点:

play_return = strategy.run(iterator, play_context)

但我找不到任何可以用来停止、结束或出错的过程。
下面是sudo代码,表示对它如何工作的猜测

timeout = 300
result = tqm.run(play)
if not result and timeout and tqm is not None:
    tqm.cleanup()

有没有人知道一个解决方案,直接使用全面质量管理,甚至一个变通办法,如我所回避的上述


Tags: andrun用户mfataskplayqueue错误
1条回答
网友
1楼 · 发布于 2024-04-28 07:34:02

我通过使用func\u timeout lib找到了解决这个问题的方法。在try块中包装tqm.run并将其发送到timeout fcn对我很有用

try: exitstatus = func_timeout(self.tqm_timeout, tqm.run, args=(play,)) except FunctionTimedOut: msg = "tqm.run could not complete within {} seconds and was terminated.".format(self.tqm_timeout) raise Exception(msg) except Exception as e: raise Exception('exception in tqm was {}'.format(e))

相关问题 更多 >