[generator] Fix routing and routing logging

This commit is contained in:
Ilya Zverev 2015-06-03 11:26:51 +03:00 committed by Alex Zolotarev
parent 72740cd15d
commit 141bc48a74
2 changed files with 11 additions and 6 deletions

View file

@ -256,13 +256,13 @@ if [ -n "$OPT_ROUTING" ]; then
putmode "Step R: Starting OSRM files generation"
if [ -n "$ASYNC_PBF" ]; then
(
bash "$ROUTING_SCRIPT" pbf &> "$ROUTING_LOG";
bash "$ROUTING_SCRIPT" prepare &> "$ROUTING_LOG"
bash "$ROUTING_SCRIPT" pbf >> "$ROUTING_LOG" 2>&1
bash "$ROUTING_SCRIPT" prepare >> "$ROUTING_LOG" 2>&1
) &
else
# Osmconvert takes too much memory: it makes sense to not extract pbfs asyncronously
bash "$ROUTING_SCRIPT" pbf &> "$ROUTING_LOG"
( bash "$ROUTING_SCRIPT" prepare &> "$ROUTING_LOG" ) &
bash "$ROUTING_SCRIPT" pbf >> "$ROUTING_LOG" 2>&1
( bash "$ROUTING_SCRIPT" prepare >> "$ROUTING_LOG" 2>&1 ) &
fi
fi
fi
@ -327,7 +327,7 @@ if [ "$MODE" == "routing" ]; then
if [ ! -e "$OSRM_FLAG" ]; then
log "OSRM files are missing, skipping routing step."
else
bash "$ROUTING_SCRIPT" mwm &> "$ROUTING_LOG"
bash "$ROUTING_SCRIPT" mwm >> "$ROUTING_LOG" 2>&1
fi
MODE=resources
fi

View file

@ -29,6 +29,7 @@ INTDIR="${INTDIR:-$TARGET/intermediate_data}"
mkdir -p "$INTDIR"
NUM_PROCESSES=${NUM_PROCESSES:-8}
OSRM_FLAG="${OSRM_FLAG:-$INTDIR/osrm_done}"
echo "[$(date +%Y/%m/%d\ %H:%M:%S)] $0 $1"
if [ "$1" == "pbf" ]; then
rm -f "$OSRM_FLAG"
@ -46,6 +47,9 @@ if [ "$1" == "pbf" ]; then
echo "$REGIONS" | xargs -I % cp "$BORDERS_PATH/%.poly" "$TMPBORDERS"
fi
[ -z "$(ls "$TMPBORDERS"/*.poly)" ] && fail "No regions to create routing files for"
export OSMCTOOLS
export PLANET
export INTDIR
find "$TMPBORDERS" -name '*.poly' -print0 | xargs -0 -P $NUM_PROCESSES -I % \
sh -c 'POLY="%"; "$OSMCTOOLS/osmconvert" $PLANET --hash-memory=2000 -B="$POLY" --complex-ways --out-pbf -o="$INTDIR/$(basename "$POLY" .poly).pbf"'
[ $? != 0 ] && fail "Failed to process all the regions"
@ -92,7 +96,8 @@ elif [ "$1" == "mwm" ]; then
cp $BORDERS_PATH/*.poly $POLY_DIR/
fi
DATA_PATH="$OMIM_PATH/data/"
export TARGET
export DATA_PATH="$OMIM_PATH/data/"
find "$INTDIR" -name '*.osrm' -print0 | xargs -0 -P $NUM_PROCESSES -I % \
sh -c 'OSRM="%"; $GENERATOR_TOOL --make_routing --make_cross_section --osrm_file_name="$OSRM" --data_path="$TARGET" --user_resource_path="$DATA_PATH" --output="$(basename "$OSRM" .osrm)"'