gpt4 book ai didi

hadoop - 如何通过自动以互斥方式选择文件?

转载 作者:行者123 更新时间:2023-12-02 20:38:01 25 4
gpt4 key购买 nike

我们在短时间内从大型机接收到两个不同的文件。我们无法预测文件的到达顺序。这些文件应由两个不同的工作流程选择。但它应该以互斥方式触发。换句话说,如果一个工作流正在运行,那么另一个工作流必须等待前一个工作流。

最佳答案

这可以通过在公共(public)位置设置一些标志来实现。并且每个作业都应该访问该位置,如果设置了该标志,则等待该标志被取消设置。

基于上述陈述,在执行任何一个工作流之前,我已经在特定位置的 unix 服务器中创建了一个文件。如果该文件存在,任何工作流都会在特定位置看到该文件,然后它会等到该文件被先前开始的先前作业删除。

下面创建文件并等待删除文件是unix脚本。可以在“预处理”选项卡中的工作流的第一项工作中定义。

#!/bin/bash
while true
do
files=$(ls /u/users/lock 2> /dev/null | wc -l)
if [ "$files" != "0" ]
then
echo "Other <workFlow name> is running wait for 10 second"
sleep 10
else
echo "<workFlow name > is not running so <current workflow name> is starting"
touch /u/users/lock
exit 0
fi
done

在下面的工作流程结束时删除文件是 unix 脚本。此脚本必须在进程选项卡的最后一个作业中定义。
#!/bin/bash
echo "<current workFlow name> is finshed so releasing the lock"
files=$(ls /u/users/lock 2> /dev/null | wc -l)
if [ "$files" != "0" ]
then
rm /u/users/lock
fi

关于hadoop - 如何通过自动以互斥方式选择文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50471760/

25 4 0