📟 Live Logs ↻ Refresh
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 [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
* 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 [33mPress CTRL+C to quit[0m
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] "[33mGET /favicon.ico HTTP/1.1[0m" 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] "[36mGET /report/2026-05-13 HTTP/1.1[0m" 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] "[33mGET /robots.txt HTTP/1.1[0m" 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] "[33mGET /robots.txt HTTP/1.1[0m" 404 -