fix(ucepsa): pin Shop Floor sync context mapping
This commit is contained in:
parent
73544c0a85
commit
7f9a88d81a
90
ucepsa/edge-oee-demo/ops/manage_odoo_shopfloor_sync_v033.sh
Normal file → Executable file
90
ucepsa/edge-oee-demo/ops/manage_odoo_shopfloor_sync_v033.sh
Normal file → Executable file
@ -2,12 +2,31 @@
|
||||
set -euo pipefail
|
||||
|
||||
ACTION="${1:-status}"
|
||||
|
||||
ROOT="${SHOPFLOOR_RUNTIME_ROOT:-/srv/mesavault/edge-oee-ucepsa}"
|
||||
CONTAINER="${SHOPFLOOR_SYNC_CONTAINER:-mv_ucepsa_odoo_shopfloor_session_sync}"
|
||||
|
||||
CONTAINER="${
|
||||
SHOPFLOOR_SYNC_CONTAINER:-
|
||||
mv_ucepsa_odoo_shopfloor_session_sync
|
||||
}"
|
||||
|
||||
NETWORK="${SHOPFLOOR_DOCKER_NETWORK:-mv_ucepsa_net}"
|
||||
|
||||
INTERVAL="${SHOPFLOOR_SYNC_INTERVAL_S:-15}"
|
||||
LOOKBACK="${SHOPFLOOR_SYNC_LOOKBACK_HOURS:-168}"
|
||||
OUTPUT="${SHOPFLOOR_SYNC_OUTPUT:-/tmp/ucepsa_odoo_shopfloor_session_sync.jsonl}"
|
||||
|
||||
TENANT="${SHOPFLOOR_TENANT:-ucepsa}"
|
||||
SITE="${SHOPFLOOR_SITE:-ucepsa_onpremise}"
|
||||
|
||||
MACHINE_MAP_JSON="${
|
||||
SHOPFLOOR_MACHINE_MAP_JSON:-
|
||||
{"52":"CORT-00","53":"CORT-01","54":"CORT-02"}
|
||||
}"
|
||||
|
||||
OUTPUT="${
|
||||
SHOPFLOOR_SYNC_OUTPUT:-
|
||||
/tmp/ucepsa_odoo_shopfloor_session_sync.jsonl
|
||||
}"
|
||||
|
||||
cd "$ROOT"
|
||||
|
||||
@ -17,30 +36,40 @@ image() {
|
||||
--format '{{.Config.Image}}'
|
||||
}
|
||||
|
||||
docker_common_args=(
|
||||
--network "$NETWORK"
|
||||
--env-file .env
|
||||
-e ODOO_DB_OVERRIDE=ucepsa_prod
|
||||
-e TENANT_OVERRIDE="$TENANT"
|
||||
-e SITE_OVERRIDE="$SITE"
|
||||
-e SHOPFLOOR_MACHINE_MAP_JSON="$MACHINE_MAP_JSON"
|
||||
-v "$ROOT:/app:ro"
|
||||
-w /app
|
||||
--entrypoint python
|
||||
)
|
||||
|
||||
start_sync() {
|
||||
local sync_image
|
||||
sync_image="$(image)"
|
||||
|
||||
docker rm -f "$CONTAINER" >/dev/null 2>&1 || true
|
||||
docker rm -f "$CONTAINER" \
|
||||
>/dev/null 2>&1 || true
|
||||
|
||||
docker run -d \
|
||||
--name "$CONTAINER" \
|
||||
--restart unless-stopped \
|
||||
--network "$NETWORK" \
|
||||
--env-file .env \
|
||||
-e ODOO_DB_OVERRIDE=ucepsa_prod \
|
||||
-v "$ROOT:/app:ro" \
|
||||
"${docker_common_args[@]}" \
|
||||
-v /tmp:/probe-output \
|
||||
-w /app \
|
||||
--entrypoint python \
|
||||
"$sync_image" \
|
||||
tools/odoo_shopfloor_session_sync.py \
|
||||
--watch \
|
||||
--interval "$INTERVAL" \
|
||||
--lookback-hours "$LOOKBACK" \
|
||||
--output "/probe-output/$(basename "$OUTPUT")"
|
||||
--output \
|
||||
"/probe-output/$(basename "$OUTPUT")"
|
||||
|
||||
docker ps --format 'table {{.Names}}\t{{.Status}}' \
|
||||
docker ps \
|
||||
--format 'table {{.Names}}\t{{.Status}}' \
|
||||
| grep -E "$CONTAINER|NAMES"
|
||||
}
|
||||
|
||||
@ -49,12 +78,7 @@ one_shot() {
|
||||
sync_image="$(image)"
|
||||
|
||||
docker run --rm -i \
|
||||
--network "$NETWORK" \
|
||||
--env-file .env \
|
||||
-e ODOO_DB_OVERRIDE=ucepsa_prod \
|
||||
-v "$ROOT:/app:ro" \
|
||||
-w /app \
|
||||
--entrypoint python \
|
||||
"${docker_common_args[@]}" \
|
||||
"$sync_image" \
|
||||
tools/odoo_shopfloor_session_sync.py \
|
||||
--once \
|
||||
@ -66,12 +90,7 @@ dry_run_known() {
|
||||
sync_image="$(image)"
|
||||
|
||||
docker run --rm -i \
|
||||
--network "$NETWORK" \
|
||||
--env-file .env \
|
||||
-e ODOO_DB_OVERRIDE=ucepsa_prod \
|
||||
-v "$ROOT:/app:ro" \
|
||||
-w /app \
|
||||
--entrypoint python \
|
||||
"${docker_common_args[@]}" \
|
||||
"$sync_image" \
|
||||
tools/odoo_shopfloor_session_sync.py \
|
||||
--once \
|
||||
@ -85,12 +104,7 @@ backfill_known() {
|
||||
sync_image="$(image)"
|
||||
|
||||
docker run --rm -i \
|
||||
--network "$NETWORK" \
|
||||
--env-file .env \
|
||||
-e ODOO_DB_OVERRIDE=ucepsa_prod \
|
||||
-v "$ROOT:/app:ro" \
|
||||
-w /app \
|
||||
--entrypoint python \
|
||||
"${docker_common_args[@]}" \
|
||||
"$sync_image" \
|
||||
tools/odoo_shopfloor_session_sync.py \
|
||||
--once \
|
||||
@ -102,31 +116,43 @@ case "$ACTION" in
|
||||
start)
|
||||
start_sync
|
||||
;;
|
||||
|
||||
stop)
|
||||
docker stop "$CONTAINER"
|
||||
;;
|
||||
|
||||
restart)
|
||||
docker rm -f "$CONTAINER" >/dev/null 2>&1 || true
|
||||
docker rm -f "$CONTAINER" \
|
||||
>/dev/null 2>&1 || true
|
||||
start_sync
|
||||
;;
|
||||
|
||||
status)
|
||||
docker ps -a --format 'table {{.Names}}\t{{.Status}}' \
|
||||
docker ps -a \
|
||||
--format 'table {{.Names}}\t{{.Status}}' \
|
||||
| grep -E "$CONTAINER|NAMES"
|
||||
;;
|
||||
|
||||
logs)
|
||||
docker logs --tail 200 -f "$CONTAINER"
|
||||
;;
|
||||
|
||||
once)
|
||||
one_shot
|
||||
;;
|
||||
|
||||
dry-run-known)
|
||||
dry_run_known
|
||||
;;
|
||||
|
||||
backfill-known)
|
||||
backfill_known
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Uso: $0 {start|stop|restart|status|logs|once|dry-run-known|backfill-known}" >&2
|
||||
echo \
|
||||
"Uso: $0 {start|stop|restart|status|logs|once|dry-run-known|backfill-known}" \
|
||||
>&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -44,11 +44,11 @@ def connect_pg():
|
||||
|
||||
def tenant_site() -> tuple[str, str]:
|
||||
return (
|
||||
env_first("TENANT", "TENANT_OVERRIDE", default="ucepsa")
|
||||
env_first("TENANT_OVERRIDE", "TENANT", default="ucepsa")
|
||||
or "ucepsa",
|
||||
env_first(
|
||||
"SITE",
|
||||
"SITE_OVERRIDE",
|
||||
"SITE",
|
||||
default="ucepsa_onpremise",
|
||||
)
|
||||
or "ucepsa_onpremise",
|
||||
|
||||
@ -162,11 +162,11 @@ def load_config() -> Config:
|
||||
)
|
||||
|
||||
return Config(
|
||||
tenant=env_first("TENANT", "TENANT_OVERRIDE", default="ucepsa")
|
||||
tenant=env_first("TENANT_OVERRIDE", "TENANT", default="ucepsa")
|
||||
or "ucepsa",
|
||||
site=env_first(
|
||||
"SITE",
|
||||
"SITE_OVERRIDE",
|
||||
"SITE",
|
||||
default="ucepsa_onpremise",
|
||||
)
|
||||
or "ucepsa_onpremise",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user