2
0
Fork 0
mirror of https://git.asonix.dog/asonix/pict-rs synced 2024-12-22 11:21:24 +00:00
Commit graph

662 commits

Author SHA1 Message Date
0ebee2a07c cargo fix 2024-02-22 16:03:49 -06:00
c1e651c01a Use BytesStream in more places 2024-02-22 16:03:04 -06:00
9db5cc82f8 Add special handling for FileSize errors 2024-02-19 12:55:44 -06:00
4a7a51d147 Add more imagemagick security configuration
Remove default security policy, since it is overridden anyway
Update default value for max_area
Inherit animation frame count configuration for list-length
Add release document
2024-02-05 14:30:01 -06:00
71d81681d5 It compiles 2024-02-04 15:45:47 -06:00
d8c4a22ba9 Start describing metrics 2024-02-04 14:26:18 -06:00
8869b82065 Update rustls for actix-web 2024-02-03 21:58:08 -06:00
85f6356025 Fix images with trailing bytes failing to upload 2024-02-03 19:50:00 -06:00
835647d290 Unite launch-with-store fns 2024-02-03 18:42:34 -06:00
c176e4c686 clippy 2024-02-03 18:30:52 -06:00
880dfc20ee Remove unneeded struct, import 2024-02-03 18:20:17 -06:00
7eba45f37e cargo fix & cargo fmt 2024-02-03 18:19:14 -06:00
50e31f96da It compiles again 2024-02-03 18:18:13 -06:00
f2410a9283 use State 2024-02-03 13:32:20 -06:00
cf7c753e65 Pass a State value around rather than a bunch of arguments 2024-02-03 13:31:54 -06:00
c3e322f2c9 typo 2024-02-02 14:00:54 -06:00
3a6faef5ef Add logs for pict-rs binds 2024-02-01 21:55:31 -06:00
5805eb0aed Enable configuring imagemagick security policy from pictrs 2024-01-31 21:32:01 -06:00
50fd3e6182 Enable serving over TLS 2024-01-31 17:47:42 -06:00
08472eabeb Log console address, prometheus address with tracing 2024-01-30 15:21:15 -06:00
e7357cbdaf Count spawned tasks in cleanup, debug log queue length 2024-01-30 14:57:48 -06:00
34cadb86b8 Don't propogate pop span into blocking closure 2024-01-30 14:30:24 -06:00
ee00fafee4 Yield more often in queue, simplify traces, log job_id in higher span 2024-01-30 14:18:07 -06:00
dc12f6f79d replace remaining web::block with spawn_blocking 2024-01-30 14:16:05 -06:00
7282ee9312 Give background jobs more opportunity to yield to runtime 2024-01-25 16:59:46 -06:00
819b83bab7 Use a far smaller pool to listen for db notifications 2024-01-25 16:50:36 -06:00
c65b49339f Take at most 2048 variants and proxies during each cleanup job 2024-01-25 16:26:29 -06:00
574b12b23f Fix postgres commandline, add default for use_tls 2024-01-25 08:55:51 -06:00
2f588aa613 Ignore tokio-uring test in docs 2024-01-24 17:41:42 -06:00
fe1132aec1 Enable at-most-once queueing for some cleanup jobs 2024-01-24 17:14:31 -06:00
fee2294901 clippy 2024-01-15 18:21:36 -05:00
19147e2035 postgres: allow connecting to TLS-enabled databases 2024-01-15 18:11:08 -05:00
f6087d65be Use async fn in trait for Store 2024-01-15 15:51:20 -05:00
9ed90efed4 Add release document, use .extend rather than .join 2024-01-11 16:48:18 -06:00
708c25f20a Join identifier onto public_endpoint, rather than overwriting the existing path 2024-01-11 16:06:44 -06:00
9ceb26bb5c Clippy 2024-01-07 10:09:06 -06:00
65e165af49 Set default audio codecs if none are specified 2024-01-07 10:03:40 -06:00
ca34a15cd3 Debug-log command arguments 2024-01-07 10:01:02 -06:00
004a54c4ae Improve cooperation from background jobs 2024-01-06 17:47:44 -06:00
bcf73eb4e4 Improve cooperation from from_iterator to prevent task starvation 2024-01-05 19:50:10 -06:00
4145637a33 Add a few more metrics, increase repo disconnect sleep 2024-01-05 19:35:52 -06:00
688c797082 Remove LIMIT 10, single_value is already in use 2024-01-04 11:13:29 -06:00
6514487ea9 Index on queue_time for job queue, limit to 10 jobs in ID query 2024-01-04 11:01:25 -06:00
0fd6c459d0 Clippy 2024-01-04 10:42:34 -06:00
7d4f44a540 Set worker-id to None when marking a job as runnable after expired heartbeats 2024-01-04 10:29:37 -06:00
7e215c691b Support RUST_LOG 2023-12-28 12:40:59 -06:00
bfc2410552 Add trace-level logs to every loop (paranoid) 2023-12-28 11:58:38 -06:00
dc90e00324 Update metrics to 0.22 (plus mechanical changes) 2023-12-26 18:06:38 -06:00
bd3cdc925e Remove special-case for animated avif 2023-12-23 21:44:11 -06:00
6d259a0eea Don't kill already-exited processes, don't log tmp_dir when fetching details 2023-12-23 13:29:30 -06:00
c2e53766c2 Don't -ping when extracting file details (workaround for imagemagick json bug) 2023-12-23 12:48:32 -06:00
df8fc00ad5 Try to clean up properly even if command errors 2023-12-23 12:11:15 -06:00
89a4e3995f Add warn logs when performing blocking removes due to dropped files 2023-12-23 12:10:25 -06:00
6fa79b9188 Do more cleanup inline 2023-12-23 11:58:20 -06:00
e8380c31c1 Fix remaining warnings 2023-12-22 21:03:51 -06:00
c2b1b3db5d Apply cargo fix 2023-12-22 21:01:19 -06:00
c544f167fb Remove unused code 2023-12-22 21:00:37 -06:00
b938b09901 Apply cargo fix 2023-12-22 20:54:02 -06:00
5624671cbf Rework ProcessRead to require a closure for using the internal AsyncRead 2023-12-22 20:52:58 -06:00
df88660b9e Lower priority of some object storage spans 2023-12-22 13:58:05 -06:00
4369283534 More tracing cleaning 2023-12-22 13:30:17 -06:00
aa8fe7f3e8 Clean unused imports 2023-12-22 13:20:36 -06:00
0dbe722524 Don't poll handle if closed, prevents panic if child wait finishes before all bytes are read 2023-12-22 13:20:21 -06:00
b94ba5fcfc Inline process background future, clean tracing a bit 2023-12-22 13:12:19 -06:00
db43392a3b Simplify process future by removing explicit channel, don't lock mutex as often 2023-12-22 12:03:05 -06:00
c9155f7ce7 Include not_found key in repo migration, rework ProcessRead, add timeout to 0.4 migration 2023-12-17 23:15:27 -06:00
bd0b89b165 Clean spans a bit 2023-12-15 22:34:45 -06:00
2544cb478f Add static bound to appease 1.74.1 2023-12-12 17:17:16 -06:00
f1c5a56353 Port prune_missing from 0.4.x 2023-12-12 16:54:41 -06:00
3ef4097ceb Enable building without tokio_unstable 2023-12-12 16:23:02 -06:00
6daa745446 Add optional ability to log spans 2023-12-11 14:58:53 -06:00
cd80ab16c3 Downgrade retry warnings to debug 2023-12-11 13:08:10 -06:00
b452a577a7 Add object ID to not found error 2023-12-11 13:05:29 -06:00
7293628148 put timeout on collecting payloads 2023-12-10 19:26:16 -06:00
961de20a00 Add timeout and metrics to media processing 2023-12-10 19:11:36 -06:00
2523b6644b Add AggregateTimeout, don't aggregate with permit 2023-12-04 15:39:34 -06:00
6b2ccbf975 Allow configuring pict-rs' temporary directory 2023-11-24 11:48:45 -06:00
a30044278c Improve documentation for using pict-rs as a library 2023-11-24 11:38:14 -06:00
71f8f52b58 Tweak error reporting 2023-11-13 17:24:56 -06:00
1538389caf Clippy 2023-11-11 14:28:05 -06:00
210af5d7d9 Add danger_dummy_mode 2023-11-11 14:22:12 -06:00
5fd59fc5b4 Change commandline flag to allow disabling video, since it is enabled by default 2023-11-11 13:22:12 -06:00
3a0546694f Update opentelemetry dependencies 2023-11-10 15:19:54 -06:00
15189d293b clippy 2023-11-09 18:26:57 -06:00
f61dac8187 Attempt to clean stray magick files
This change sets a unique temp directory for each invocation of imagemagick and spawns a task to remove that directory after the command terminates
2023-11-09 18:20:59 -06:00
20d07ea29b Remove direct dependency on quick-xml, update dependencies (minor & point) 2023-11-04 13:18:22 -05:00
c795c1edfa Replace most of actix-rt with tokio, give names to tasks 2023-10-20 19:08:11 -05:00
0bf8b6a2a8 Update rusty-s3 to 0.5.0 2023-10-08 11:29:59 -05:00
71fbc4c55b Just have different mains 2023-10-07 12:31:05 -05:00
760b9d8c59 Install tracing & metrics from within runtime 2023-10-07 12:29:01 -05:00
3f5bc1d311 Build same pict-rs config for either runtime option 2023-10-07 12:22:17 -05:00
f97f76c01e Fix io-uring initialization 2023-10-07 12:12:40 -05:00
4a45aa889c Enable running on bare tokio 2023-10-07 11:48:58 -05:00
7f5cbc4571 Attempt clean-drop of tmp_dir 2023-10-07 11:36:49 -05:00
7b5a3020fa Don't rely on global state for tmp_dir 2023-10-07 11:32:36 -05:00
fff4afe105 Start working on per-server temporary directory 2023-10-06 19:42:24 -05:00
c202484e9d clippy 2023-10-04 12:46:38 -05:00
914e21c043 Implement constant-time equality for delete tokens, inline alias cleanup 2023-10-04 12:11:29 -05:00
d28c1ac628 Upgrade Concurrency: Update docs, configs, limit maxiumum details operations 2023-10-03 17:04:40 -05:00
f223d477c7 Enable specifying concurrency for 0.4 to 0.5 migration 2023-10-03 16:27:19 -05:00
75551dc3a1 Increase deadpool wait timeout, helps with extreme concurrency 2023-10-03 16:15:49 -05:00
247902e600 Enable specifying migrate-store concurrency 2023-10-03 15:50:53 -05:00
8568ae3364 Clippy 2023-09-30 22:47:49 -05:00
4c7067d4ca Allow running without old_repo specified 2023-09-30 22:46:15 -05:00
81c6e73b5f Simplify old_repo, remove client_pool_size 2023-09-30 22:46:15 -05:00
47751f3875 Downgrade some WARN logs to INFO, update docs for public methods 2023-09-30 17:52:58 -05:00
01cbe34ac3 Remove unneeded annotation 2023-09-30 17:34:05 -05:00
4bb9d81f51 Move internal middleware into own file 2023-09-30 17:33:01 -05:00
e3462f6664 payload middleware: switch to Rc, always inject if Payload isn't None 2023-09-30 17:24:48 -05:00
3267fb8301 Fail requests for malformed deadlines 2023-09-30 17:20:32 -05:00
65ea518542 Default log level to info 2023-09-30 16:28:04 -05:00
66e1711723 Enable proper draining of dropped request payloads
Doing this as the outermost middleware ensures all endpoints are covered.

Update request deadline to turn negative deadlines into immediate failures
2023-09-30 16:26:43 -05:00
6f44b05c0a Remove references to Arbiter 2023-09-29 11:54:43 -05:00
735fcd1b49 Remove dependency on actix-web-codegen 2023-09-24 15:52:31 -05:00
ecdbaa9c92 Use diesel-async re-export of Hook 2023-09-24 15:48:19 -05:00
745e990fa0 Remove direct dependency on actix-rt and actix-server 2023-09-24 15:45:10 -05:00
0926739d3c Remove once_cell 2023-09-24 15:32:00 -05:00
e0968dcce3 Remove serde-cbor, num_cpus 2023-09-24 15:22:57 -05:00
fd965bb1a5 Allow processing still images into animation formats 2023-09-24 13:20:33 -05:00
f3ef2d870b Generate details during ingest 2023-09-24 12:58:16 -05:00
8f62b0c325 clippy 2023-09-24 12:42:23 -05:00
9ffdd0432f Infer video thumbnail format from image format 2023-09-24 12:37:43 -05:00
6c921817e1 Enable thumbnailing animations, use dynamic dispatch for a number of async readers 2023-09-24 11:54:16 -05:00
cde4a72203 Add metrics to object storage body streams 2023-09-20 19:46:10 -05:00
49d3037358 Add metrics to object storage requests 2023-09-20 19:39:03 -05:00
7df6f3906e Add timeout, metrics to external validation request 2023-09-20 19:29:19 -05:00
d0646dee25 Add config option for external validation timeout 2023-09-20 19:23:55 -05:00
4a5b9712aa Combine map_ok and map_err underlying impl 2023-09-10 23:51:07 -04:00
2b10c48619 Update io-uring to use streem for file bytes 2023-09-10 23:45:24 -04:00
ea75ca24b5 Add track_caller to sync methods, update streem 2023-09-10 20:43:51 -04:00
b2674f06d0 More streme 2023-09-10 20:08:01 -04:00
1b97ac1c5a Start replacing manual stream implementations with streem 2023-09-10 18:55:13 -04:00
858899b943 Add metrics & tracing to dropped uploads, turn pop into a single query 2023-09-07 19:20:41 -05:00
783df60f81 Fix on_conflict for postgres store migration path 2023-09-06 20:49:00 -05:00
a761daca34 clippy 2023-09-05 20:55:11 -05:00
e15a82c0c7 Add external validation check 2023-09-05 20:45:07 -05:00
bc49f8ca37 Migrate with timestamp 2023-09-04 22:25:11 -05:00
9c50bbe23a match -> matches! 2023-09-04 22:06:28 -05:00
492b99922b 10 second worker delay after disconnect error 2023-09-04 22:04:15 -05:00
62ebc1c60a Move timeout after metrics - timeouts count as incomplete 2023-09-04 22:02:59 -05:00
3bd0f78e75 Use with_timeout for all timeouts 2023-09-04 21:58:57 -05:00
a4b1ab7dfb Instrument postgres db calls 2023-09-04 21:51:27 -05:00
37448722de postgres: Rework job & upload notifications (more)
postgres: Add metrics to job push & pop, upload wait
sled: add upload wait metrics
2023-09-04 16:20:26 -05:00
00aa00c55c postgres: Enable 'previous page' when less than full limit fit on previous page 2023-09-03 21:58:31 -05:00
a43de122f9 postgres: add already-claimed case, general: tracing paranoia 2023-09-03 21:30:47 -05:00
31caea438e Fix slow connection pool access 2023-09-03 20:05:29 -05:00
8a892ba622 it might work 2023-09-03 18:21:46 -05:00
a2933dbebc Implement all the todos 2023-09-03 17:11:34 -05:00
94cb2a9ef3 Pass clippy 2023-09-03 16:59:41 -05:00
443d327edf Implement a couple more repo traits 2023-09-03 12:47:06 -05:00