Commit graph

679 commits

Author SHA1 Message Date
Aode (lion)
55d5e43cd2 Consolidate endpoints for downloading media, cached or backgrounded 2022-04-08 12:05:14 -05:00
Aode (lion)
07c61cbe87 Add download backgrounded 2022-04-07 19:07:30 -05:00
Aode (lion)
13afc6a4be Update pictrs-proxy in object-storage dockerfile 2022-04-07 13:28:41 -05:00
Aode (lion)
8781bc8f28 Add follows-from relation for background tasks 2022-04-07 13:28:28 -05:00
Aode (lion)
e493e90dd4 Defensive tracing 2022-04-07 12:56:40 -05:00
Aode (lion)
c80d207a87 Improve tracing 2022-04-06 21:40:49 -05:00
Aode (Lion)
05e2cf5e08 Cache on Alias rather than Hash
Make sled repo blocking tasks share parent span
2022-04-06 12:14:12 -05:00
Aode (Lion)
865f4ee09c Caching works:
- Insert new bucket for current access time before removing
    previous access time record.
- Add instrument to more methods for more precise tracing
2022-04-05 21:47:35 -05:00
Aode (Lion)
6cdae7b318 Add 'cache' endpoint for ingesting ephemeral media
By default, cached media should only stick around for 7 days, however
The timeout is reset every time media is accessed, so only obscure
cached media will be flushed from the cache. This '7 days' number is
configurable through the commandline run options as --media-cache-duration
and in the pict-rs.toml file as [media] cache_duration
2022-04-05 20:29:30 -05:00
Aode (Lion)
7d9d947256 Update drone dockerfile 2022-04-03 19:44:04 -05:00
Aode (Lion)
d4c5158e57 More readme & config doc fixes 2022-04-03 19:26:42 -05:00
Aode (Lion)
7e26e7281a Update pict-rs version in config docs 2022-04-03 19:12:28 -05:00
Aode (Lion)
1cde842881 Update pict-rs.toml with most recent configuration format 2022-04-03 18:58:18 -05:00
Aode (Lion)
5ce951188d Update section on docker development 2022-04-03 18:26:32 -05:00
Aode (Lion)
030604208f Update readme with current 0.4 apis 2022-04-03 18:23:36 -05:00
Aode (Lion)
6cd7a3be64 Remove migrate.toml 2022-04-03 17:39:29 -05:00
Aode (lion)
3ad6cdc853 Add PNM module in imagemagick policy 2022-04-03 16:44:58 -05:00
Aode (lion)
8633eab54f Merge branch 'asonix/repo' into main 2022-04-03 15:23:53 -05:00
Aode (lion)
f2d7c685a6 Update deps 2022-04-03 15:21:14 -05:00
Aode (lion)
7c9d6ab9e8 Update dependencies, prepare 0.3 stable 2022-04-03 15:18:20 -05:00
Aode (lion)
b0670c2f66 Move migrate to old 2022-04-03 15:07:31 -05:00
Aode (lion)
d16fa711b8 Update readme 2022-04-03 13:31:52 -05:00
Aode (lion)
82b7caf60e bash example: Add more duplicate uploads 2022-04-03 12:55:16 -05:00
Aode (lion)
044d24c92d Add bash client example for testing backgrounded operations 2022-04-03 12:53:14 -05:00
Aode (lion)
409b7d4c54 Remove unused conversions 2022-04-03 12:51:21 -05:00
Aode (lion)
29f0774331 Add ability to claim uploads 2022-04-02 21:15:39 -05:00
Aode (lion)
8734dfbdc7 Add backgrounding routes
- Accept backgrounded uploads
- Allow backgrounded processing

Still TODO:
- Endpoint for waiting on/claiming an upload
2022-04-02 20:56:29 -05:00
Aode (Lion)
c4d014597e Better job recovery 2022-04-02 18:53:03 -05:00
Aode (Lion)
77a400c7ca Implement UploadRepo 2022-04-02 17:41:00 -05:00
Aode (Lion)
132e395e5c Multiple items:
- Reduce duplicate work in generate job
- Use hash instead of identifier for unique processing
- Move motion ident generation behind concurrent processor lock
2022-04-02 17:40:08 -05:00
Aode (Lion)
09f53b9ce6 Move away from UploadManager to direct repo & store actions 2022-04-02 16:44:03 -05:00
Aode (lion)
6ed592c432 In Progress: process jobs
- Is this a good idea? it definitely will make interacting with pict-rs harder. Maybe it's best not to do this
2022-04-01 16:51:12 -05:00
Aode (lion)
c0d8e0e8e3 Support multiple queues for job processor 2022-04-01 11:51:46 -05:00
Aode (lion)
09281d9ae8 Move stream timeout to all response bodies 2022-03-29 16:48:26 -05:00
Aode (lion)
63d66050c8 Enable buffering iterator items for iterstream 2022-03-29 16:18:00 -05:00
Aode (lion)
5adb3fde89 Move some Stream implementations into 'stream' module 2022-03-29 15:59:17 -05:00
Aode (lion)
0e490ff54a Remove custom BytesFreezer stream 2022-03-29 14:28:08 -05:00
Aode (lion)
25f4480809 Remove custom stream error mapping types 2022-03-29 14:17:20 -05:00
Aode (lion)
8226a3571d Enable multi-threaded job processing 2022-03-29 13:18:47 -05:00
Aode (lion)
602d1ea935 Begin implementing queue, put cleanups in it 2022-03-29 12:51:16 -05:00
Aode (lion)
e25a4781a8 Remove unneeded variable 2022-03-29 11:09:23 -05:00
Aode (lion)
99d042f36e Allow disabling gif/mp4 2022-03-29 11:04:56 -05:00
Aode (Lion)
dd9ef89709 Update tomls 2022-03-28 20:48:12 -05:00
Aode (Lion)
eb5e39c634 Use color-eyre 2022-03-28 20:47:46 -05:00
Aode (lion)
1291bf8beb Divorce reqwest from main application's spans 2022-03-28 18:42:22 -05:00
Aode (lion)
3f385c106d New minio creds 2022-03-28 16:45:34 -05:00
Aode (lion)
cfc29d940f New minio creds 2022-03-28 16:44:53 -05:00
Aode (lion)
1662f153ce Numerous changes:
- Improve error printing (display chain in addition to spantrace)
- Fix migration (read main identifier from identifier tree, not filename tree)
- Ensure uniqueness for processed images in ConcurrentProcessor (use source identifier in addition to thumbnail path, include extension in thumbnail path)
- Update default log levels (make pict-rs quieter)
- Add timeout for serving images from object storage (5 seconds)
2022-03-28 15:34:36 -05:00
Aode (lion)
a5014120ff v0.3.0-rc.9 2022-03-28 12:57:51 -05:00
Aode (lion)
2e851575d8 Support latest ffmpeg, imagemagick releases 2022-03-28 12:56:31 -05:00