4a5bb452e6
ensure all tables are created at once, previously only some would depending on what parts of the program have been imported
dave2025-07-15 19:28:07 -07:00
8cabe66a47
add minio test and parameterize storage backend in tests
dave2025-07-09 21:20:14 -07:00
165be04993
refactor tests to deduplicate code and such that component selection (such as which db backend) is driven by what is available in the fixtures, rather than what the tests selects, and variations thereof
dave2025-07-08 18:36:05 -07:00
d5df60a3d6
centralize logging format config and fix logging in job process pool
dave2025-07-07 15:29:38 -07:00
0f3904cf65
add multiprocessing to job server
dave2025-07-06 10:17:45 -07:00
eab00ddde5
delete work queue entries after processing
dave2025-06-28 21:36:29 -07:00
7e9d646dab
expire the key that job locking uses to pass the existing job id in using the same duration as the job lock's expiration
dave2025-06-27 20:08:16 -07:00
64296fdaf2
add a max queue depth it is possible that we will burst a lot of jobs and exceed this quota - e.g. viewing multiple search pages with >=1000 images to process. But that's OK because the retry system will eventually retry it. But, it won't be until the result stream expires. Hopefully that's ok, but we'll see
dave2025-06-26 14:29:11 -07:00
153f7509f9
need an error branch under heartbeat timeouts as well
dave2025-06-25 23:07:13 -07:00
6817788b1b
decrement job retries when it fails due to heartbeat timeout
dave2025-06-24 22:50:30 -07:00
179517c743
refactor out LibraryManager
dave2025-06-14 17:11:38 -07:00
bda8f48eca
avoid requeuing unnecessarily when an already-requeued job is seen as having heartbeat timeout because we forgot to wipe the last_updated field after the previous timeout
dave2025-06-13 07:28:54 -07:00
211445c4d5
add infrastructure so that jobs can obtain a lock e.g. for handling thundering herd
dave2025-06-12 16:29:23 -07:00
f1c5e8ab94
add test for filmstrip thumb gen
dave2025-06-11 16:50:58 -07:00
648dfd10b7
show placeholder if thumb gen takes too long
dave2025-06-10 17:01:23 -07:00
6415ae916e
catch errors in jobs
dave2025-06-09 13:58:27 -07:00
95d0c0e87f
updates for typed JobTarget
dave2025-05-17 15:31:46 -07:00
7eb55b5a3e
accessors and job updates
dave2025-05-15 17:05:02 -07:00
c50f549628
update schema such that JobTarget references its target by setting one of 3 columns, depending on the target type. This allows foreign keys to work normally.
dave2025-05-14 20:40:02 -07:00
d010b1a610
test video thumb generation
dave2025-05-11 17:11:29 -07:00
3fc3b199d9
add video fixture
dave2025-05-10 18:57:31 -07:00