Karp

Shell 远程拉取Au文件转码Wav (不通用)
监控 redis 队列RPOP拉取远程AU文件 转码 WAV这个脚本并不通用 业务介绍:1. 用户注册上传语音文件...
扫描右侧二维码阅读全文
27
2017/07

Shell 远程拉取Au文件转码Wav (不通用)

监控 redis 队列RPOP拉取远程AU文件 转码 WAV

这个脚本并不通用 业务介绍:

1. 用户注册上传语音文件前端回传Au静态资源回调文件地址;
2. 回调地址上传后打入 `upload:au:queue` 队列. 写入mysql的数据默认为转码成功的地址;
3. shell 脚本读取队列拉取文件并生成转码文件

AuToWav.sh

    #/user/bin
    
    host="127.0.0.1"
    port=6379
    redis_key="upload:au:queue"
    redis_cli="/usr/local/redis/bin/redis-cli"
    error_log="./transfer_error.log"
    
    suffix_name="wav"
    auPath="./au/"
    transferAu="./transferAu"
    
    if [ ! -f $transferAu ]; then
        echo "转码脚本不存在"
        exit 1
    fi
    
    if [ ! -d $auPath ]; then
        mkdir -p $auPath
    fi
    
    while true 
    do
        url=$($redis_cli -h $host -p $port rpop $redis_key)
        if [ ! -n "$url" ]; then
            sleep 1
            continue
        fi
    
        wget -o ./download.log $url
    
        au_file_list=$(ls *.au)
    
        if [ ! -n "$au_file_list" ]; then
            echo "IS NULL"
            continue
        fi
    
        for x in $au_file_list
        do
            tmp_file_name=${x%.au*}
            $($transferAu $x &>> $error_log)
            if [ ! -f "$tmp_file_name.$suffix_name" ]; then
                echo $x"生成文件失败"
                continue
            fi
            mv $x $auPath
        done
    
    done

nohup ./AuToWav.sh 2>> error.log &

最后修改:2017 年 07 月 27 日 02 : 39 AM

发表评论