Commit graph

31 commits

Author SHA1 Message Date
Peter Goodhall
f01599e6a5 Add indexes and batch processing for uploads
Improve query performance and memory usage by adding a migration to create several indexes and converting various upload/reporting flows to batched processing. Changes include:

- Add migration 245 to create indexes: idx_mode, idx_sat_name, idx_continent, idx_qsl_stats (composite), idx_hrdlog_upload, idx_qrz_upload to speed common queries.
- Bump migration version to 245 in config.
- Hrdlog and Qrz controllers: switch to fetching QSOs in LIMIT/OFFSET batches, process updates in chunks, add logging for batch progress, and use break 2 to stop outer loops on invalid API keys to avoid continuing work.
- Logbook_model:
  - get_hrdlog_qsos and get_qrz_qsos now accept limit/offset and use ORDER BY/LIMIT/OFFSET for batching.
  - Replaced a subquery with a JOIN for grid-based filtering to improve performance.
  - get_modes rewritten to use query builder (distinct/select/order_by).
  - Bulk DXCC updates use update_batch instead of per-row queries.
  - calls_without_station_id limited to 500 results to avoid UI hangs.

Overall goal: prevent memory exhaustion with large datasets and improve database query performance.
2026-02-11 10:59:24 +00:00
Peter Goodhall
e6aeee53a1 Add reusable User-Agent helper for QRZ API requests
Introduced a useragent_helper with a function to generate a compliant User-Agent string for Cloudlog, and updated QRZ API calls in Qrz controller and Logbook_model to use this helper. This ensures consistent and QRZ-compliant User-Agent headers for all outgoing requests.
2026-01-09 10:52:37 +00:00
Peter Goodhall
1aeec6e72d Handle missing station_callsign in QRZ import
Added a check and error log for missing station_callsign during QRZ import. This helps identify records with incomplete data and prevents potential issues when processing QSOs.
2025-12-20 11:25:58 +00:00
Peter Goodhall
c88c2435bf Remove custom date filter from QRZ data download
Simplifies the QRZ data download process by removing the custom date selection logic. Now, all QRZ data is downloaded regardless of the date specified in the request.
2025-12-09 21:38:49 +00:00
Peter Goodhall
44a729f335 Optimize QRZ QSO upload/download with batch processing
Improves performance of QRZ QSO upload by batching database updates in the controller and model, reducing the number of individual update queries. Adds a new migration to create indexes supporting QRZ upload/download operations. Refactors QRZ download batch processing to use temporary tables and efficient JOINs for large batch updates, further enhancing speed and scalability.
2025-10-13 15:01:25 +01:00
Steven Dodd
36e21c2380
Forced http version and added compression 2025-07-31 15:55:07 +01:00
copilot-swe-agent[bot]
a97a381a7a Add timeout and safety limits to QRZ download to prevent runaway processes
Co-authored-by: magicbug <84308+magicbug@users.noreply.github.com>
2025-07-30 15:58:32 +00:00
Peter Goodhall
af60e40315 removed redundant code 2025-04-18 11:02:22 +01:00
Peter Goodhall
fdff3c0aba Forgot to remove 80m limit 2025-04-18 10:40:03 +01:00
Peter Goodhall
0416d8446f Reworked some of the QRZ code for downloading 2025-04-18 10:35:45 +01:00
HB9HIL
27fb96b303 ci loader and fix for ok status if no qso to upload 2023-12-17 11:03:55 +01:00
HB9HIL
e71f782a83 fixed success and error messages 2023-12-16 11:42:56 +01:00
int2001
517d1d7a8a
Heal some strange behaviours of qrz-qsls 2023-12-14 06:03:47 +00:00
int2001
0231c58761
Catch empty QRZ.com response when downloading qrz-confirmations 2023-12-11 05:26:09 +00:00
int2001
a2f6b9f09f
Removed Call-Filter for QRZ-API (has no Effect) and fixed analysis-View 2023-12-08 09:07:14 +00:00
int2001
b1f57015f1
Table for QRZ-Result 2023-12-08 04:47:55 +00:00
int2001
f5313eca63
Added QRZ-Support to Cloudlog 2023-12-07 16:30:40 +00:00
int2001
112d997ca5
Check if QRZ-QSOs belong to user, when triggering via GUI 2023-07-31 07:16:15 +00:00
int2001
5ffcc413e9 Added Errormessage for User in case of invalid/expired key 2023-07-05 12:20:39 +00:00
int2001
782857aef9 Fixes Issue 2198 2023-07-05 12:05:02 +00:00
Andreas
4ac4f612cb [QRZ Logbook] Had to revert a few changes. Can't check user_id everywhere, since that will break cron 2021-11-25 20:43:31 +01:00
Andreas
197eceeb79 [QRZ Logbook] V2 fix for user_id 2021-11-25 20:18:44 +01:00
Andreas
f4b29bd601 [QRZ Logbook] Updated the rest of the code to work with the new placement for the marking of QSOs. 2021-09-05 17:11:58 +02:00
Andreas
85c5a09a20 [QRZ Logbook] Bugfix for mass upload. Rewrote export to use AdifHelper. 2020-11-21 14:25:02 +01:00
Paul Beesley
5d23802e16 Further tweaks to text and text formatting
This commit has some further changes to text throughout the application. There are also some small fixes for text formatting. E.g. making sure that the small "helper" text under certain form fields is all consistent in terms of colour, font, etc.
2020-11-02 09:34:29 +00:00
Peter Goodhall
bd16b14dd0 Changed all text for QRZ to refer to the QRZ Logbook which is what its for making it clearer. 2020-09-15 17:56:15 +01:00
AndreasK79
0fbacec258 Added showing of error messages in GUI when uploading to QRZ.com 2020-08-08 15:52:59 +02:00
AndreasK79
cea2cb3ea8 Added a bit better error handling. Writing errors to logfile now, if turned on in config. 2020-08-08 08:47:02 +02:00
AndreasK79
13c66289b4 Fixes for uploading modified QSOs to QRZ.com 2020-06-04 21:56:32 +02:00
AndreasK79
97440b2161 UI for uploading QSOs to QRZ.com Added 2 css files for dynamic loading button. https://github.com/loadingio/ldButton/tree/master/dist and https://github.com/loadingio/loading.css/tree/master/dist 2020-05-20 19:43:13 +02:00
AndreasK79
f7a9c3507b Mass upload for QRZ.com, suitable for a cron job. 2020-05-12 19:11:29 +02:00