🛒 BZR Data Lake — Control Dashboard

2026-06-14 06:33:12
Next Sync: 2026-06-15 04:00
Next Report: 2026-06-14 07:00

Sync Status

ok
Last: 2026-06-14T05:40:24.607748

Report Status

ok
Last: 2026-06-14T05:36:47.701719

Reports Saved

1
HTML files in /reports

🔄 Sync Control

Last message:
                  0 rows

05:40:23  INFO     Connecting to Odoo...
05:40:24  INFO     Authenticated as UID 310
05:40:24  INFO       Odoo 18.0+e-20260330 — UID 310
05:40:24  INFO     Checking last sync times...
05:40:24  INFO       product.product: last sync: 2026-06-13 15:34:38
05:40:24  INFO     
Starting sync with 4 parallel workers...

05:40:24  INFO       product.product: 0 records — skipping

📊 Report Control

Latest reports:
2026-05-13 19.2 KB View

🔌 Sync by Model

ModelLast Sync (WIB)RowsDaysActions
pos.order 2026-06-13 22:39 4,083
pos.order.line 2026-06-14 12:29 701,433
pos.session 2026-06-13 22:52 240
pos.payment 2026-06-13 22:52 5,782
pos.config
sale.order 2026-06-13 22:31 5
sale.order.line 2026-06-13 22:31 4
purchase.order 2026-06-13 22:31 4,509
purchase.order.line
stock.picking 2026-06-13 22:32 21,414
stock.move
stock.quant 2026-06-13 22:37 282,573
stock.location 2026-06-13 22:39 62
product.template 2026-06-14 11:55 62,427
product.product 2026-06-13 22:39 62,402

⏰ Schedule Settings (Asia/Jakarta timezone)

Enabled
Next: 2026-06-15 04:00
Enabled
Next: 2026-06-14 07:00
Cron format: minute hour day month weekday  |  Examples: 0 4 * * * = 4:00 AM daily  ·  0 7 * * 1-5 = 7:00 AM weekdays

📋 Sync History

ModelRowsTime (WIB)Status
pos.order.line 701,433 2026-06-14 12:29 done
product.template 62,427 2026-06-14 11:55 done
pos.order.line 286,508 2026-06-13 23:22 done
pos.payment 5,782 2026-06-13 22:52 done
pos.session 240 2026-06-13 22:52 done
pos.order.line 701,433 2026-06-13 22:52 done
pos.order 4,083 2026-06-13 22:39 done
stock.location 62 2026-06-13 22:39 done
product.product 62,402 2026-06-13 22:39 done
product.template 62,427 2026-06-13 22:38 done
stock.quant 282,573 2026-06-13 22:37 done
stock.picking 21,414 2026-06-13 22:32 done
purchase.order 4,509 2026-06-13 22:31 done
sale.order.line 4 2026-06-13 22:31 done
sale.order 5 2026-06-13 22:31 done
pos.payment 5,782 2026-06-13 21:39 done
pos.session 240 2026-06-13 21:39 done
pos.order.line 701,433 2026-06-13 21:38 done
pos.order 4,083 2026-06-13 21:23 done
product.product 62,402 2026-06-13 21:23 done

📟 Live Logs

2026-06-14 05:33:48,963 INFO Added job "scheduled_report" to job store "default" 2026-06-14 05:33:48,963 INFO Scheduler started 2026-06-14 05:33:48,963 INFO Scheduler started 2026-06-14 05:33:48,963 INFO Dashboard running on http://0.0.0.0:5050 2026-06-14 05:33:48,965 INFO WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on all addresses (0.0.0.0) * Running on http://127.0.0.1:5050 * Running on http://10.0.1.21:5050 2026-06-14 05:33:48,965 INFO Press CTRL+C to quit 2026-06-14 05:34:28,409 INFO 10.0.1.3 - - [14/Jun/2026 05:34:28] "GET / HTTP/1.1" 200 - 2026-06-14 05:34:46,165 INFO Generating report for 2026-05-14 2026-06-14 05:34:46,166 INFO 10.0.1.3 - - [14/Jun/2026 05:34:46] "POST /api/report HTTP/1.1" 200 - 2026-06-14 05:34:47,804 INFO 10.0.1.3 - - [14/Jun/2026 05:34:47] "GET / HTTP/1.1" 200 - 2026-06-14 05:34:53,007 INFO 10.0.1.3 - - [14/Jun/2026 05:34:53] "GET / HTTP/1.1" 200 - 2026-06-14 05:34:56,884 INFO Report [error]: Traceback (most recent call last): File "/app/html_report.py", line 622, in <module> main() File "/app/html_report.py", line 606, in main html = build_html(target_date, conn) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/html_report.py", line 192, in build_html margin_data = fetch_margin(conn, d) ^^^^^^^^^^^^^^^^^^^^^ File "/app/html_report.py", line 145, in fetch_margin return query(conn, """ ^^^^^^^^^^^^^^^ File "/app/html_report.py", line 39, in query cur.execute(sql, params) File "/usr/local/lib/python3.11/site-packages/psycopg2/extras.py", line 236, in execute return super().execute(query, vars) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ psycopg2.errors.UndefinedTable: relation "analytics.v_margin_by_category" does not exist LINE 8: FROM analytics.v_margin_by_category ^ 2026-06-14 05:34:58,181 INFO 10.0.1.3 - - [14/Jun/2026 05:34:58] "GET / HTTP/1.1" 200 - 2026-06-14 05:34:59,214 INFO 10.0.1.3 - - [14/Jun/2026 05:34:59] "GET / HTTP/1.1" 200 - 2026-06-14 05:35:00,075 INFO 10.0.1.3 - - [14/Jun/2026 05:35:00] "GET / HTTP/1.1" 200 - 2026-06-14 05:35:00,377 INFO 10.0.1.3 - - [14/Jun/2026 05:35:00] "GET /favicon.ico HTTP/1.1" 404 - 2026-06-14 05:36:14,989 INFO Generating report for 2026-05-13 2026-06-14 05:36:14,990 INFO 10.0.1.3 - - [14/Jun/2026 05:36:14] "POST /api/report HTTP/1.1" 200 - 2026-06-14 05:36:16,585 INFO 10.0.1.3 - - [14/Jun/2026 05:36:16] "GET / HTTP/1.1" 200 - 2026-06-14 05:36:21,799 INFO 10.0.1.3 - - [14/Jun/2026 05:36:21] "GET / HTTP/1.1" 200 - 2026-06-14 05:36:27,163 INFO 10.0.1.3 - - [14/Jun/2026 05:36:27] "GET / HTTP/1.1" 200 - 2026-06-14 05:36:32,366 INFO 10.0.1.3 - - [14/Jun/2026 05:36:32] "GET / HTTP/1.1" 200 - 2026-06-14 05:36:37,570 INFO 10.0.1.3 - - [14/Jun/2026 05:36:37] "GET / HTTP/1.1" 200 - 2026-06-14 05:36:43,043 INFO 10.0.1.3 - - [14/Jun/2026 05:36:43] "GET / HTTP/1.1" 200 - 2026-06-14 05:36:47,701 INFO Report [ok]: Report saved: 2026-05-13.html 2026-06-14 05:36:49,033 INFO 10.0.1.3 - - [14/Jun/2026 05:36:49] "GET / HTTP/1.1" 200 - 2026-06-14 05:37:13,084 INFO 10.0.1.3 - - [14/Jun/2026 05:37:13] "GET /report/2026-05-13 HTTP/1.1" 200 - 2026-06-14 05:38:58,425 INFO Starting sync: python /app/odoo_sync.py --days 28 --models product.template 2026-06-14 05:38:58,425 INFO 10.0.1.3 - - [14/Jun/2026 05:38:58] "POST /api/sync/model HTTP/1.1" 200 - 2026-06-14 05:39:00,238 INFO Sync done [ok]: imes... 05:39:00 INFO product.template: last sync: 2026-06-14 04:50:08 05:39:00 INFO Starting sync with 4 parallel workers... 05:39:00 INFO product.template: 0 records — skipping 2026-06-14 05:39:01,642 INFO 10.0.1.3 - - [14/Jun/2026 05:39:01] "GET / HTTP/1.1" 200 - 2026-06-14 05:39:40,145 INFO 10.0.1.3 - - [14/Jun/2026 05:39:40] "GET / HTTP/1.1" 200 - 2026-06-14 05:40:23,850 INFO Starting sync: python /app/odoo_sync.py --days 28 --models product.product 2026-06-14 05:40:23,850 INFO 10.0.1.3 - - [14/Jun/2026 05:40:23] "POST /api/sync/model HTTP/1.1" 200 - 2026-06-14 05:40:24,607 INFO Sync done [ok]: times... 05:40:24 INFO product.product: last sync: 2026-06-13 15:34:38 05:40:24 INFO Starting sync with 4 parallel workers... 05:40:24 INFO product.product: 0 records — skipping 2026-06-14 05:40:26,934 INFO 10.0.1.3 - - [14/Jun/2026 05:40:26] "GET / HTTP/1.1" 200 - 2026-06-14 05:44:24,166 INFO 10.0.1.3 - - [14/Jun/2026 05:44:24] "GET /report/2026-05-13 HTTP/1.1" 304 - 2026-06-14 05:50:35,073 INFO 10.0.1.3 - - [14/Jun/2026 05:50:35] "GET / HTTP/1.1" 200 - 2026-06-14 05:55:09,548 INFO 10.0.1.3 - - [14/Jun/2026 05:55:09] "GET /robots.txt HTTP/1.1" 404 - 2026-06-14 05:55:10,531 INFO 10.0.1.3 - - [14/Jun/2026 05:55:10] "GET / HTTP/1.1" 200 - 2026-06-14 05:55:13,298 INFO 10.0.1.3 - - [14/Jun/2026 05:55:13] "GET /report/2026-05-13 HTTP/1.1" 200 - 2026-06-14 06:03:48,198 INFO 10.0.1.3 - - [14/Jun/2026 06:03:48] "GET / HTTP/1.1" 200 - 2026-06-14 06:09:43,856 INFO 10.0.1.3 - - [14/Jun/2026 06:09:43] "GET / HTTP/1.1" 200 - 2026-06-14 06:33:12,079 INFO 10.0.1.3 - - [14/Jun/2026 06:33:12] "GET /robots.txt HTTP/1.1" 404 -