#!/usr/bin/env bash createworker() { (( ++active )) read -u4 line taskid=${line%%::AtOM:SQL:Sep::*} rest="${line#*::AtOM:SQL:Sep::}::AtOM:SQL:Sep::" sourcefileid=${rest%%::AtOM:SQL:Sep::*} rest=${rest#*::AtOM:SQL:Sep::} cmd_arg=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}") rest=${rest#*::AtOM:SQL:Sep::} cleanup=${rest%%::AtOM:SQL:Sep::*} rest=${rest#*::AtOM:SQL:Sep::} destfileid=${rest%%::AtOM:SQL:Sep::*} rest=${rest#*::AtOM:SQL:Sep::} destfilename=${rest%%::AtOM:SQL:Sep::*} rest=${rest#*::AtOM:SQL:Sep::} for key in ${!cmd_arg[@]} do [ -z "${cmd_arg[key]}" ] && unset cmd_arg[key] done workerid=$(getworkerid) workertasks[workerid]=$taskid Update tasks status 1 <<<"id = $taskid" worker $workerid & workers[$workerid]=$! }