102 Commits

Author SHA1 Message Date
Georges-Antoine Assi
b2dea510c4
[ROMM-2628] Fix desirialize job func_name 2025-11-10 17:57:28 -05:00
Georges-Antoine Assi
525bffe9d0
clarify orphan cleanup task 2025-10-30 10:51:42 -04:00
Georges-Antoine Assi
f30f0bfd75
Smarter detection of whether to scan roms 2025-10-26 13:21:56 -04:00
Georges-Antoine Assi
9fa15d20f0
totally refactor scan types 2025-10-23 16:57:40 -04:00
Georges-Antoine Assi
9a8899f678
use explicit kwargs on scan 2025-10-19 12:43:03 -04:00
Georges-Antoine Assi
b689e3bde1
[ROMM-2531] Allow scanning without metadata providers 2025-10-19 12:37:18 -04:00
Georges-Antoine Assi
2763db5d30
add region and lang validation 2025-10-17 09:03:33 -04:00
Georges-Antoine Assi
945c1a6572
last bit of cleanup 2025-10-16 17:40:44 -04:00
Georges-Antoine Assi
05c5d79e5f
commit backen code 2025-10-16 15:41:42 -04:00
Georges-Antoine Assi
170b3d04b7
self cleanup from review 2025-10-16 15:17:14 -04:00
Georges-Antoine Assi
0f6cf7649f
final tweaks to styles 2025-10-16 12:25:05 -04:00
Georges-Antoine Assi
cdd856f865
use date-fns for dates 2025-10-16 09:11:11 -04:00
Georges-Antoine Assi
6785be06a9
cleanup code massively 2025-10-15 16:21:17 -04:00
Georges-Antoine Assi
e336fc3c5e
restyle by bo 2025-10-15 10:59:02 -04:00
Georges-Antoine Assi
ff15cfcee6
support states for more types of tasks 2025-10-09 19:20:19 -04:00
Georges-Antoine Assi
6f3be07707
Revert "[HOTFIX] Limit memory usage of launchbox metadata update" 2025-09-16 20:55:06 -04:00
Georges-Antoine Assi
f4cf637969
Merge pull request #2437 from rommapp/how-long-to-beat
HowLongToBeat Integration
2025-09-16 18:28:48 -04:00
Georges-Antoine Assi
123b3f6b8b
create makeshift howlongtobeet handler 2025-09-14 19:39:38 -04:00
Georges-Antoine Assi
dede0f1d27
[HOTFIX] Limit memory usage of launchbox metadata updaet
add logging
2025-09-14 17:31:15 -04:00
Georges-Antoine Assi
debc6c4cab
run formatter 2025-09-11 22:35:19 -04:00
Georges-Antoine Assi
3c4113f8a8
Merge branch 'master' into flashpoint-metadata-handler 2025-09-11 21:27:48 -04:00
Georges-Antoine Assi
bf631cfa74
fix updating image preview + force webp 2025-09-05 09:42:25 -04:00
Michael Manganiello
e4e3928d1b
misc: Apply import sorting 2025-09-04 11:17:00 -03:00
Michael Manganiello
c66a6eb5b7
Merge pull request #2370 from rommapp/misc/metadata-handler-is-enabled
misc: Add MetadataHandler's is_enabled method
2025-09-04 09:47:42 -03:00
Georges-Antoine Assi
768624cd74
filter out existing webp files in taks 2025-09-03 21:32:33 -04:00
Michael Manganiello
d216bad78b
misc: Add MetadataHandler's is_enabled method
Convert `MetadataHandler` to an abstract base class and add an
`is_enabled` class method that allows every metadata handler to
independently report whether it is enabled based on its configuration.

This avoids the need for global variables in the config module, allowing
us to change the enabled state of a metadata handler at runtime if
needed.
2025-09-03 22:13:28 -03:00
Georges-Antoine Assi
3e7d70ae4e
can manual run convert webp task 2025-09-03 20:07:51 -04:00
Michael Manganiello
a31a8504c2
feat: Add scheduled task to sync RetroAchievements progress
Add a new scheduled task that syncs RetroAchievements progress for all
users with a RetroAchievements username.

Environment variables:
- `ENABLE_SCHEDULED_RETROACHIEVEMENTS_PROGRESS_SYNC`: Enable or disable
  the task (default: `false`)
- `SCHEDULED_RETROACHIEVEMENTS_PROGRESS_SYNC_CRON`: Cron string to
  schedule the task (default: "0 4 * * *" - daily at 4 AM)
2025-08-31 01:57:26 -03:00
Georges-Antoine Assi
f8d5feba24
changes from review 2025-08-30 14:19:29 -04:00
Georges-Antoine Assi
dd0f87a4d0
changes from code review 2025-08-28 12:54:20 -04:00
Georges-Antoine Assi
45edc8fcc0
use stores for loading global data 2025-08-28 09:48:52 -04:00
Georges-Antoine Assi
bf42faf578
fix loading and converting images 2025-08-27 23:31:29 -04:00
Georges-Antoine Assi
b7d59d74c4
init task 2025-08-27 22:25:45 -04:00
Georges-Antoine Assi
586ce0ef30
Craete image to webp task 2025-08-27 22:12:12 -04:00
Georges-Antoine Assi
bf0d864d84
Add flashpoint as a metadata handler 2025-08-27 11:04:13 -04:00
Georges-Antoine Assi
9bb586b288
set timeouts 2025-08-26 21:09:13 -04:00
Michael Manganiello
ba21cbc1e1
misc: Separate tests folder from backend code
Create separate `tests/` folder for all tests. This will also simplify
not copying tests code into the Docker image.
2025-08-08 12:49:13 -03:00
Michael Manganiello
5dcc1bd31c
feat: Migrate scheduler to native RQ process
This change replaces our custom `scheduler.py` script with the
`rqscheduler` command, allowing us to run the RQ scheduler as a
separate, low-memory process, by avoiding the need to maintain
the Python app in memory.

* Remove `scheduler.py` script.
* Move initialization of scheduled tasks to `worker.py`.
* Update `docker/init_scripts/init` to start the `rqscheduler`
  command instead of the custom script.
* Fix scheduled tasks' `func` paths to the new project structure.
* Temporarily use a fork of `rq-scheduler` to support
  username and SSL settings in the `rqscheduler` command.
2025-08-06 19:13:12 -03:00
Michael Manganiello
637a0b74f7
misc: Add type hints to task classes
Small change including type hints for the Task base classes, and related
fixes to related tests.
2025-08-06 15:55:41 -03:00
Georges-Antoine Assi
f4a65c3680
Merge pull request #2185 from rommapp/response-cleanup
Replace MessageResponse with specific responses
2025-08-06 09:16:05 -04:00
Michael Manganiello
3906cf3991
fix: Correctly evaluate enabled metadata sources in scheduled library scan
The existing code incorrectly maps boolean flags to metadata sources,
leading to colliding `True` keys in the dictionary. This caused only one
metadata source to be recognized during scheduled scans, even when
multiple sources were enabled.
2025-08-05 13:30:11 -03:00
Georges-Antoine Assi
8061db40b2
fix tests and cleanup 2025-08-02 17:55:43 -04:00
Georges-Antoine Assi
036a66a9df
fix tasks test 2025-08-02 10:34:07 -04:00
Georges-Antoine Assi
19c5b5e428
refactor tasks endpoint 2025-08-02 10:11:00 -04:00
zurdi
b856fd1c62
fix: trunk check 2025-07-22 21:12:27 +00:00
Zurdi
8ffe3afbe6
Update backend/tasks/manual/cleanup_orphaned_resources.py
Co-authored-by: Georges-Antoine Assi <3247106+gantoine@users.noreply.github.com>
2025-07-22 21:43:18 +02:00
zurdi
7bc7b0341c
test: Enhance heartbeat and task tests 2025-07-22 17:25:24 +00:00
zurdi
7aeccb5468
feat: Added clean resources task + revamped the whole task system 2025-07-22 16:31:36 +00:00
Georges-Antoine Assi
9e722f5806
fix scan test 2025-07-18 11:53:22 -04:00
Georges-Antoine Assi
48eab4c957
fix a bunch of tests 2025-07-17 15:48:46 -04:00