Commit graph

49 commits

Author SHA1 Message Date
4a55946f8a Add deploy_service.py to automate service redeployment
Wraps the manual steps we kept redoing after every schema/service
change: sync each terminal's Shared Projects copy via git, compile the
service, and drop config/services.ini into place.

Per-terminal headless MetaEditor compilation proved unreliable in
testing - it can exit 0 without producing a log or touching the .ex5,
seemingly needing an interactive desktop session. The script compiles
once against the repo's own working tree instead and copies the
resulting .ex5 to the other terminals, verifying success by checking
the file's mtime actually changed rather than trusting the exit code.
2026-07-27 15:22:37 +03:00
01f3b3af4a Log unexpected errors in read_state instead of swallowing them
The bare except was hiding a real bug: the deployed service's states
table predated the company/holder_name columns, so every read raised
sqlite3.OperationalError: no such column: s.company. Since it was
caught silently, the UI just stuck on "starting" forever with no
indication why. Now the error text is printed so schema drift like
this is visible immediately instead of requiring manual DB inspection.
2026-07-27 13:41:03 +03:00
98ea068262 Fix FastAPI/Starlette compatibility errors in main.py
Path()'s example kwarg is deprecated in favor of examples (list) in
the installed FastAPI version. Separately, the installed Starlette
(1.3.1) removed the old TemplateResponse(name, context) calling
convention entirely, requiring request as the first positional
argument instead of a 'request' key in the context dict - the old
form crashed index() with "unhashable type: dict" from get_template().
2026-07-27 13:17:22 +03:00
82a79d9b45 Document config/services.ini service autostart workaround
Add static/services.ini as a reference example, and update both the
article draft and working notes with the discovery: placing this file
in the terminal installation's config folder auto-registers the
compiled service, removing the manual Navigator step. Note explicitly
that the file is undocumented (UTF-16LE, absent from the official
config file listing) and likely the terminal's own internal
serialization of Navigator-added services.
2026-07-27 13:07:03 +03:00
3211b2c2eb Expand article draft with MQL5 docs on services
Add a section explaining services as an MQL5 program type (single
OnStart handler, no chart binding, per-instance thread, survives
account switches) and a section on the stop grace period, tying the
documented 3-second IsStopped() timeout to the service's jittered
Sleep(). Cite official docs for DatabaseBind indexing, transaction
speedup, and DATABASE_OPEN_COMMON; add a references section.
2026-07-27 12:51:56 +03:00
ab5af0bf82 Fixes
Код для /create пока тоже просто игнорируем, дойдем до него в пятой части цикла

Код в 56-58 main.py убираем, так как эта информация будет получена главной страницей через ajax-запросы

Формат времени везде сделаем в секундах, нам не нужна милисекундная точность
2026-07-27 12:34:18 +03:00
40c947fed8 Add draft for Article 4 2026-07-27 12:32:10 +03:00
4e17cd52f0 Draft version 2026-07-25 20:52:51 +03:00
acbebe6f9a Add service file and notes 2026-07-25 19:24:56 +03:00
3d83a6219a Fix layout 2026-01-14 08:46:02 +03:00
a4eab7e2e7 Merge branch 'article-19946' into develop p3 2025-11-20 15:25:35 +03:00
196f293699 Add comments 2025-11-20 14:02:48 +03:00
518832cdf1 Update README 2025-11-20 09:46:27 +03:00
10e904932f Add comments 2025-11-17 21:13:30 +03:00
1f1d25c97a Move Config class to separate file 2025-11-11 12:15:50 +03:00
0f3dba1b27 Modify Views 2025-11-05 22:14:19 +03:00
faa6725b79 Add --host and --port to run's arguments 2025-11-05 14:37:24 +03:00
74f50658d3 Change default config and add comments 2025-11-04 21:23:59 +03:00
0f88b48e55 Add status starting 2025-10-31 21:45:09 +03:00
288c635a77 Add time and margin to terminal card 2025-10-30 22:41:27 +03:00
970371efb0 Add icons for servers 2025-10-30 10:01:24 +03:00
b73b175fc2 Rename vars 2025-10-30 10:00:52 +03:00
91e30813dd Add external launcher 2025-10-30 10:00:18 +03:00
7146211ccd Add and rename config items 2025-10-30 09:59:38 +03:00
9ff80bc98b Add nice blocks layout and colors 2025-10-24 15:36:01 +03:00
838443e602 Add account info, BEP, start/stop icons 2025-10-24 02:13:35 +03:00
84fe4274bf Cleaning code 2025-10-21 21:24:09 +03:00
6452cd47b3 Add displaying information about instances 2025-10-21 16:08:01 +03:00
1716aa02ba Add collecting info via mt5 library 2025-10-16 20:41:52 +03:00
22fdc9551f Add docs for routes p2 2025-10-14 23:54:26 +03:00
f5d4c1467a Fix typo and add comments 2025-10-14 22:04:04 +03:00
824919d493 Add comments 2025-10-14 16:04:37 +03:00
1b4e35f9aa Add comments 2025-10-14 14:59:40 +03:00
a6c39e1be5 Add controls to main page 2025-10-14 14:16:34 +03:00
ac4dd1347c Rewrite start/stop functions 2025-10-14 14:13:43 +03:00
1e7b1eb29b Add param name to routes /start and /end 2025-10-14 14:12:34 +03:00
f8ebd5c3d4 Add info about the app launch 2025-10-14 07:37:15 +03:00
92459f1172 Merge branch 'article-19852' of https://forge.mql5.io/antekov/mt5-manager into article-19852 2025-10-13 21:55:52 +03:00
4c54df940a Add style.css 2025-10-13 21:55:41 +03:00
ed73458bb8 Merge branch 'article-19852' of https://forge.mql5.io/antekov/mt5-manager into article-19852 2025-10-13 21:54:05 +03:00
15c42d604e Add separate files 2025-10-13 21:53:50 +03:00
00eeb2f761 Add separate files 2025-10-10 10:16:59 +03:00
cf7338f189 Add start/stop routes p1 2025-10-07 21:48:20 +03:00
0dd5fb2427 First viable version 2025-10-06 23:34:05 +03:00
700594ae5a Modify .gitignore 2025-10-04 15:11:09 +03:00
1dfdcc6451 Add one GET-request handler 2025-10-04 15:10:53 +03:00
d0df6f0569 Revert "Draft version" to initial state 2025-10-04 12:27:40 +03:00
bc9e08c9e7 Draft version 2025-10-04 12:05:29 +03:00
07f5c60265 Initial commit 2025-10-04 08:21:12 +00:00