Commit Graph

53 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
b1b982eaae reorder scan functions a bit 2025-10-28 10:21:56 -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
b31cc9465e [ROMM-2338] Consistent pending job fetch in watcher 2025-10-21 12:20:58 -04:00
Georges-Antoine Assi
9a8899f678 use explicit kwargs on scan 2025-10-19 12:43:03 -04:00
Georges-Antoine Assi
4cfd622a89 finally finish backend state 2025-10-15 16:31:25 -04:00
Georges-Antoine Assi
6785be06a9 cleanup code massively 2025-10-15 16:21:17 -04:00
Georges-Antoine Assi
ff15cfcee6 support states for more types of tasks 2025-10-09 19:20:19 -04:00
Georges-Antoine Assi
123b3f6b8b create makeshift howlongtobeet handler 2025-09-14 19:39:38 -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
Michael Manganiello
e4e3928d1b misc: Apply import sorting 2025-09-04 11:17:00 -03: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
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
f95e0edff4 feat: Add OpenTelemetry integration to file watcher
Run file watcher using `opentelemetry-instrument` to enable tracing for
the watcher service.
2025-08-12 11:25:40 -03:00
Michael Manganiello
76db0ab98c feat: Migrate watcher to use watchfiles library
The `watchfiles` library supports event batching, which allows us to
process multiple filesystem changes in a single run.

This change also avoids database calls in the watcher as much as
possible.
2025-08-07 13:28:49 -03:00
Georges-Antoine Assi
c4ea27b6fa pass in metadata providers enabled 2025-08-07 09:51:18 -04:00
Georges-Antoine Assi
c030d10c05 changes from bot review 2025-08-07 09:43:18 -04:00
Georges-Antoine Assi
836e7358c2 fix issues from code review 2025-08-07 09:34:43 -04:00
Georges-Antoine Assi
7e0cb2272d run watchdog as a native task 2025-08-06 23:25:47 -04:00
Georges-Antoine Assi
8061db40b2 fix tests and cleanup 2025-08-02 17:55:43 -04:00
Georges-Antoine Assi
0acc9de6e6 add endpoint to fetch task result 2025-08-02 15:25:44 -04:00
Michael Manganiello
f1474582b9 fix: watchdog: Only subscribe to relevant filesystem events
The `watchdog` observer supports filtering events based on their type,
so unwanted events don't get dispatched.
2025-07-07 00:35:42 -03:00
zurdi
6f08912fc0 refactor: remove unnecessary logging highlights and improve log messages for clarity 2025-05-09 10:25:11 +00:00
zurdi
14761c2c83 refactor: enhance logging with highlighted output for improved readability 2025-05-09 09:05:59 +00:00
zurdi
49ad99d5e7 refactor: improve logging setup and format across multiple modules for consistency 2025-05-08 22:17:53 +00:00
zurdi
cac9602974 refactor: streamline logging setup and improve log formatting across multiple modules 2025-05-08 17:57:40 +00:00
Georges-Antoine Assi
2859ac04c8 fix pyright issues 2025-01-26 10:57:27 -05:00
Michael Manganiello
7dc7eea34d feat: Initial Sentry support
This change initializes the Sentry SDK, which enables error tracking
when the `SENTRY_DSN` environment variable is set.

Drop-in alternatives to Sentry are also supported, like GlitchTip.
2024-12-27 17:03:45 -03:00
Michael Manganiello
a26168ecc4 fix: Skip scanning task by checking against the correct function name
The `scan.py` module was moved to the `sockets` package, but this line
was not updated to reflect that change. This currently causes the
watcher to not skip queuing a new `scan_platforms` task if one is
already scheduled.
2024-10-11 20:40:42 -03:00
Georges-Antoine Assi
a7cf0d389a run trunk format on all files 2024-05-21 10:18:13 -04:00
Georges-Antoine Assi
2749aaee4a rename back to old names 2024-05-05 16:59:30 -04:00
Georges-Antoine Assi
9ad28f3294 more refactoring again 2024-05-05 16:32:40 -04:00
Georges-Antoine Assi
def2608c28 refactor db handlers 2024-05-05 15:46:07 -04:00
Georges-Antoine Assi
1a2c914045 refactor handlers out into own files 2024-05-05 12:45:56 -04:00
Georges-Antoine Assi
16db9b03bc [HOTFIX] Fix nightly scans resetting igdb/moby IDs 2024-04-02 15:22:25 -04:00
Zurdi
450d2593c6 fix read config when updated from UI 2024-02-21 11:44:18 -05:00
Georges-Antoine Assi
f67b984cbb Hotfix scanning via watcher 2024-02-09 18:16:59 -05:00
Georges-Antoine Assi
2524170db5 fix types + add check for extra watchdog events 2024-02-09 11:06:18 -05:00
Zurdi
93f6cb7651 Merge branch 'feature/manage_config_from_ui' into refactor/backend 2024-01-13 02:17:19 +01:00
Zurdi
4b9e76f550 backend structure refactor 2024-01-12 23:44:27 +01:00
Zurdi
33b6364c8a endpoints and responses restructured 2024-01-11 23:57:06 +01:00
Zurdi
47a83a525b config is loaded dinamycally and platform bindings can be removed from UI 2024-01-11 15:26:41 +01:00
Zurdi
fb1c02459e added methods to add and remove platforms bindings to config manager 2024-01-11 00:29:41 +01:00
Georges-Antoine Assi
5762270f62 Merge branch 'master' into romm-55 2024-01-09 13:06:51 -05:00
Zurdi
eea7e41940 docstrings added to endpoints + organized imports + formatted code 2024-01-09 16:22:31 +01:00
Georges-Antoine Assi
a7bf12c6ed Refactor how config is stored and loaded 2023-11-14 09:14:27 -05:00
Georges-Antoine Assi
ed010944fa Add status of tasks to control panel 2023-08-26 23:21:42 -04:00