Commit Graph

  • 8a66630a29 add debug shell in cli master dave 2025-12-17 15:16:44 -05:00
  • dee1c757c4 fix test dave 2025-12-16 16:58:03 -05:00
  • 126bdfe614 implement hashing in cli dave 2025-12-15 20:46:27 -05:00
  • b51492639c batch by hash lookup dave 2025-12-14 15:26:41 -05:00
  • 8d089d4911 additional video thumb timeout tweaks dave 2025-08-22 13:29:18 -07:00
  • e8298bb858 increase thumb gen timeout due to videos taking longer dave 2025-08-22 13:08:54 -07:00
  • ac033d51dd strip null chars from exif date strings to avoid parse error dave 2025-08-22 12:48:53 -07:00
  • 67486d11ca exif parsing during client-side ingest dpedu/camera-db dave 2025-07-21 17:16:42 -07:00
  • c1f66be84a camera/lens stringification for cli dave 2025-07-20 18:40:34 -07:00
  • 566e7cd90a never allow null lens/camera, use an unknown camera record, and add proper UniqueConstraints dave 2025-07-19 16:18:39 -07:00
  • 7b4b2c67bd refactor exif extraction dave 2025-07-18 14:35:19 -07:00
  • 28f9dbdeb8 add camera/lens db schema dave 2025-07-17 20:14:35 -07:00
  • 19e5da4bb5 missing file dave 2025-07-15 19:30:58 -07:00
  • 4a5bb452e6 ensure all tables are created at once, previously only some would depending on what parts of the program have been imported dave 2025-07-15 19:28:07 -07:00
  • 8cabe66a47 add minio test and parameterize storage backend in tests dave 2025-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 dave 2025-07-08 18:36:05 -07:00
  • d5df60a3d6 centralize logging format config and fix logging in job process pool dave 2025-07-07 15:29:38 -07:00
  • 0f3904cf65 add multiprocessing to job server dave 2025-07-06 10:17:45 -07:00
  • 6b310a075c fix debug cli dave 2025-07-05 19:21:12 -07:00
  • 124edd3a5a refactor rqlite work loop so that it is easier to re-use into a multithreaded manner dave 2025-07-04 22:37:13 -07:00
  • 5e55f2c84d add minio fixture dave 2025-07-02 23:07:19 -07:00
  • 509f41cc2c show cli help when no command is specified dave 2025-07-01 15:22:51 -07:00
  • f700d53477 make map link in nav link to the coordinate of the current photo, if one is being viewed dave 2025-06-30 17:11:12 -07:00
  • 05140bf715 update default image pull policies dave 2025-06-29 14:44:47 -07:00
  • eab00ddde5 delete work queue entries after processing dave 2025-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 dave 2025-06-27 20:08:16 -07:00
  • 1d14347bbb readme cleanup dave 2025-06-26 22:45:27 -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 dave 2025-06-26 14:29:11 -07:00
  • 153f7509f9 need an error branch under heartbeat timeouts as well dave 2025-06-25 23:07:13 -07:00
  • 6817788b1b decrement job retries when it fails due to heartbeat timeout dave 2025-06-24 22:50:30 -07:00
  • 6a935db161 avoid installing software-properties-common, it's slow dave 2025-06-23 19:52:50 -07:00
  • 684afc5c44 fix error when timeout isn't specified dave 2025-06-22 19:14:04 -07:00
  • 7d6a3a6a0c pass timeouts/heartbeats from the consolidated job functions map dave 2025-06-21 17:18:57 -07:00
  • 8fb4dc5a07 refactor collection of job functions dave 2025-06-20 16:03:19 -07:00
  • 0d25075005 actually delete the todo comment dave 2025-06-19 14:16:32 -07:00
  • c3271fd94c complete types.py TODOs dave 2025-06-19 14:15:18 -07:00
  • 47aa57c88c remove unused db session dave 2025-06-18 16:53:32 -07:00
  • 69411bf434 only call sqlalchemy table setup during main app startup dave 2025-06-17 14:34:44 -07:00
  • 99e37257b3 fix unclear JSONDecodeError when encountering http errors that don't return json dave 2025-06-16 14:35:41 -07:00
  • e81d035a42 remove cursorwrap dave 2025-06-15 11:58:57 -07:00
  • 179517c743 refactor out LibraryManager dave 2025-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 dave 2025-06-13 07:28:54 -07:00
  • 211445c4d5 add infrastructure so that jobs can obtain a lock e.g. for handling thundering herd dave 2025-06-12 16:29:23 -07:00
  • f1c5e8ab94 add test for filmstrip thumb gen dave 2025-06-11 16:50:58 -07:00
  • 648dfd10b7 show placeholder if thumb gen takes too long dave 2025-06-10 17:01:23 -07:00
  • 6415ae916e catch errors in jobs dave 2025-06-09 13:58:27 -07:00
  • 83332f3db4 implement job heartbeat dave 2025-06-07 09:20:45 -07:00
  • 42654a1229 avoid holding db transaction open during thumbnail generation dave 2025-06-06 09:55:04 -07:00
  • f459990134 add filmstrip preview filmstrip dave 2025-06-05 16:38:36 -07:00
  • 418c1c5271 handle job errors with an exception dave 2025-06-04 21:49:32 -07:00
  • 5a4cce6336 make thumb formats available to specific image types dave 2025-06-03 19:23:22 -07:00
  • f87aa7335d cleanup and rename some things dave 2025-06-02 18:06:37 -07:00
  • 4b6c04d5e5 combine get_video_still functions dave 2025-06-01 19:52:41 -07:00
  • c6c9190388 handle orientation in film strip dave 2025-05-31 22:15:07 -07:00
  • e07bb7de5b better ffprobe data parsing dave 2025-05-30 14:48:47 -07:00
  • f34ba3f877 rough pass at filmstrip generation dave 2025-05-29 23:05:51 -07:00
  • 751979d899 test set and one thumbnails dave 2025-05-28 13:56:19 -07:00
  • 4a4e81d27d dont open another transaction when waiting on job responses dave 2025-05-27 13:34:48 -07:00
  • ed61e2a08f combine still/video thumb generation jobs dave 2025-05-26 16:02:55 -07:00
  • 4b5e519109 use ThumbStyle dataclass to hold style information/functions dave 2025-05-25 16:54:50 -07:00
  • 4c086ebceb refactor thumb size settings to be a bit more pluggable dave 2025-05-24 17:05:06 -07:00
  • 9ed840027b better ffmpeg command for video length detection dave 2025-05-23 13:42:34 -07:00
  • 040ab2f835 avoid issue where setting field=None during JobTarget init wasn't allowed by validator dave 2025-05-22 22:11:00 -07:00
  • 02a8c3076d continue using JobTarget.target_id for convenience dave 2025-05-21 20:46:21 -07:00
  • 799362a4c9 add validation to JobTarget dave 2025-05-20 18:51:06 -07:00
  • 415ca734d0 add test for single-file thumbs job-target-foreignkeys dave 2025-05-18 13:47:17 -07:00
  • 95d0c0e87f updates for typed JobTarget dave 2025-05-17 15:31:46 -07:00
  • 7eb55b5a3e accessors and job updates dave 2025-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. dave 2025-05-14 20:40:02 -07:00
  • d010b1a610 test video thumb generation dave 2025-05-11 17:11:29 -07:00
  • 3fc3b199d9 add video fixture dave 2025-05-10 18:57:31 -07:00
  • dbc05af69d fix jobserver updated redis url dave 2025-05-09 11:16:52 -07:00
  • cd1265dc98 fix sqlalchemy deprecation warning dave 2025-05-08 22:49:00 -07:00
  • 82e717d7fc just use redis's built-in url parser dave 2025-05-07 17:59:32 -07:00
  • 237acae641 configure redis using a URL dave 2025-05-06 16:17:12 -07:00
  • f968a2f83e always use redis pooling dave 2025-05-05 19:46:48 -07:00
  • 28e2390be4 run tests against sqlite and mysql dave 2025-05-04 22:02:03 -07:00
  • a531ebde2b refactor mysql fixture so portions can be used for sqlite dave 2025-05-03 16:29:33 -07:00
  • 566b50b7b8 enable foreign keys on sqlite dave 2025-05-01 16:57:00 -07:00
  • c4a998352b split hash func for usage on fobjs dave 2025-04-30 19:17:35 -07:00
  • 718220875f add cascade to db constraints dave 2025-04-29 19:26:43 -07:00
  • 553039d8d6 fix validation tool dave 2025-04-28 17:28:23 -07:00
  • 31cefde9f5 consolidate uuid function dave 2025-04-27 17:14:06 -07:00
  • 9dd9a2c401 jobserver replicas option dave 2025-04-26 21:07:31 -07:00
  • e6bfd2d0ae missing template dave 2025-04-25 09:26:01 -07:00
  • 1315321dcf refactor tags macro, apply it to search, and fix search tag button styling dave 2025-04-24 22:09:01 -07:00
  • 5380d29f4d group tags by letters on the create tags screen dave 2025-04-23 22:20:45 -07:00
  • 2394d7099d fetch thumb in test - 64% dave 2025-04-22 18:55:28 -07:00
  • ddd30a367d add one big test - 59% dave 2025-04-21 18:08:22 -07:00
  • 6af91a1f07 add integration test harness dave 2025-04-18 10:30:16 -07:00
  • 58971a8f76 remove unused thumbservice variable dave 2025-04-17 22:28:52 -07:00
  • 95c4a3feaf add cherrypy tests dave 2025-04-16 19:21:51 -07:00
  • 73c2a6654b fix cherrypy tests dave 2025-04-15 14:30:26 -07:00
  • d408c8349a remove long-broken old ingest script dave 2025-04-14 21:02:50 -07:00
  • f782e560c3 add makefile dave 2025-04-13 11:17:27 -07:00
  • c8734cb81c Merge pull request 'image processing job subsystem' (#7) from jobs into master dave 2025-04-12 23:39:42 -07:00
  • 053aa3334b Merge branch 'master' into jobs jobs dave 2025-04-12 23:22:27 -07:00
  • 88ab7eeabc rarely used in-process image resizing func needs to return true on success dave 2025-04-12 21:38:07 -07:00
  • 7f0c991508 update terraform, adding redis dave 2025-04-11 17:10:32 -07:00
  • 67c421bc00 fix s3-based files not supporting context management dave 2025-04-10 10:41:44 -07:00