update sync chicken counting realtime mirrored from weight sync, remove panel iot cron

This commit is contained in:
Alberto-Audrix committed 2026-10-07 15:04:15 +07:00
1 parent 83a41fbbcb
commit a6d4ddac65
9 files changed
+40 -17

No files matched your search

+2 -2
View File
@@ -19,10 +19,10 @@ COPY backend/requirements.txt .
RUN pip install -r requirements.txt
COPY backend/ .
COPY docker/entrypoint-api.sh docker/entrypoint-cron.sh docker/karung_sync_loop.sh /app/
COPY docker/entrypoint-api.sh docker/entrypoint-cron.sh docker/karung_sync_loop.sh docker/edge_sync_loop.sh /app/
COPY docker/crontab /etc/cron.d/newdashboard
RUN chmod +x /app/entrypoint-api.sh /app/entrypoint-cron.sh /app/karung_sync_loop.sh \
RUN chmod +x /app/entrypoint-api.sh /app/entrypoint-cron.sh /app/karung_sync_loop.sh /app/edge_sync_loop.sh \
&& mkdir -p /app/data /app/media /app/staticfiles \
&& chmod 0644 /etc/cron.d/newdashboard \
&& crontab /etc/cron.d/newdashboard
+1 -7
View File
@@ -4,12 +4,6 @@ PATH=/usr/local/bin:/usr/bin:/bin
# NOTE: docker/entrypoint-cron.sh regenerates this file from DASHBOARD_PUBLISH_HOUR/MINUTE
# at container start. Keep this checked-in copy as documentation / fallback defaults (17:00).
# IoT panel: real-time sync every 10 minutes (not gated by publish cutoff).
*/10 * * * * root cd /app && /usr/local/bin/python manage.py sync_iot_from_api >> /var/log/cron.log 2>&1
# Chicken counting + mortality + weight edge sync every 10 minutes (not gated by publish cutoff).
*/10 * * * * root cd /app && /usr/local/bin/python manage.py sync_chicken_counting_from_edge >> /var/log/cron.log 2>&1
# Karung-web-admin: every 30s via karung_sync_loop.sh (started by entrypoint-cron.sh).
# Karung-web-admin & Edge Chicken Counting: every 30s via sync loops (started by entrypoint-cron.sh).
# Daily publish — recompute KPI rollups (hour/minute come from DASHBOARD_PUBLISH_* at runtime).
0 17 * * * root cd /app && /usr/local/bin/python manage.py sync_karung_from_web_admin >> /var/log/cron.log 2>&1 && /usr/local/bin/python manage.py recompute_kpi_rollups >> /var/log/cron.log 2>&1
+8
View File
@@ -0,0 +1,8 @@
#!/bin/sh
# Sub-minute chicken counting + mortality + weight edge sync.
set -eu
cd /app
while true; do
/usr/local/bin/python manage.py sync_chicken_counting_from_edge >> /var/log/cron.log 2>&1 || true
sleep 30
done
+2 -6
View File
@@ -13,13 +13,8 @@ CRON_FILE=/etc/cron.d/newdashboard
echo "SHELL=/bin/sh"
echo "PATH=/usr/local/bin:/usr/bin:/bin"
echo ""
echo "# IoT panel: real-time sync every 10 minutes (not gated by publish cutoff)."
echo "*/10 * * * * root cd /app && /usr/local/bin/python manage.py sync_iot_from_api >> /var/log/cron.log 2>&1"
echo ""
echo "# Chicken counting + mortality + weight edge sync every 10 minutes."
echo "*/10 * * * * root cd /app && /usr/local/bin/python manage.py sync_chicken_counting_from_edge >> /var/log/cron.log 2>&1"
echo ""
echo "# Karung-web-admin: every 30s via karung_sync_loop.sh (started below)."
echo "# Chicken counting + weight edge: every 30s via edge_sync_loop.sh (started below)."
echo "# Daily publish — karung sync then KPI rollups at configured cutoff."
echo "${PUBLISH_MINUTE} ${PUBLISH_HOUR} * * * root cd /app && /usr/local/bin/python manage.py sync_karung_from_web_admin >> /var/log/cron.log 2>&1 && /usr/local/bin/python manage.py recompute_kpi_rollups >> /var/log/cron.log 2>&1"
} > "$CRON_FILE"
@@ -27,4 +22,5 @@ chmod 0644 "$CRON_FILE"
crontab "$CRON_FILE"
/app/karung_sync_loop.sh &
/app/edge_sync_loop.sh &
exec cron -f