diff --git a/shell/task.sh b/shell/task.sh index 71c76843..9ea31d87 100755 --- a/shell/task.sh +++ b/shell/task.sh @@ -3,6 +3,7 @@ ## 导入通用变量与函数 dir_shell=/ql/shell . $dir_shell/share.sh +. $dir_shell/api.sh ## 组合Cookie和互助码子程序,$1:要组合的内容 combine_sub() { @@ -105,15 +106,26 @@ run_normal() { local p1=$1 cd $dir_scripts define_program "$p1" - + if [[ $p1 == *.js ]]; then + if [[ $AutoHelpOther == true ]] && [[ $(ls $dir_code) ]]; then + local latest_log=$(ls -r $dir_code | head -1) + . $dir_code/$latest_log + fi + if [[ $# -eq 1 ]]; then + random_delay + fi + fi combine_all - log_time=$(date "+%Y-%m-%d-%H-%M-%S") - log_dir_tmp="${p1##*/}" - log_dir="$dir_log/${log_dir_tmp%%.*}" - log_path="$log_dir/$log_time.log" - make_dir "$log_dir" - - timeout $command_timeout_time ${dir_shell}/run_scripts.sh $p1 2>&1 | tee $log_path + log_time=$(date "+%Y-%m-%d-%H-%M-%S") + log_dir_tmp="${p1##*/}" + log_dir="$dir_log/${log_dir_tmp%%.*}" + log_path="$log_dir/$log_time.log" + make_dir "$log_dir" + + local id=$(cat $list_crontab_user | grep -E "$cmd_task $p1$" | perl -pe "s|.*ID=(.*) $cmd_task $p1$|\1|" | xargs | sed 's/ /","/g') + update_cron_status "\"$id\"" "0" + timeout $command_timeout_time $which_program $p1 2>&1 | tee $log_path + update_cron_status "\"$id\"" "1" } ## 并发执行,因为是并发,所以日志只能直接记录在日志文件中(日志文件以Cookie编号结尾),前台执行并发跑时不会输出日志