mirror of
https://git.asonix.dog/asonix/pict-rs
synced 2024-12-22 03:11:24 +00:00
Copy over 0.4.2 release document
This commit is contained in:
parent
0c4d632dda
commit
f3b4342d27
1 changed files with 67 additions and 0 deletions
67
releases/0.4.2.md
Normal file
67
releases/0.4.2.md
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
# pict-rs 0.4.2
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
I'm happy to announc pict-rs 0.4.2 today. This is a smaller release but includes some important
|
||||||
|
changes. A few users had been seeing issues around pict-rs' HTTP client when talking to object
|
||||||
|
storage or downloading media, this release should fix these issues.
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
- [Process Timeout](#process-timeout)
|
||||||
|
|
||||||
|
|
||||||
|
### Bugfix
|
||||||
|
|
||||||
|
- [Dangling Backgrounded Uploads](#dangling-backgrounded-uploads)
|
||||||
|
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
|
||||||
|
- [Reqwest](#reqwest)
|
||||||
|
|
||||||
|
|
||||||
|
## Upgrade Notes
|
||||||
|
|
||||||
|
There's no significant changes from 0.4.1, so upgrading should be as simple as pulling a new version
|
||||||
|
of pict-rs.
|
||||||
|
|
||||||
|
|
||||||
|
## Descriptions
|
||||||
|
|
||||||
|
### Process Timeout
|
||||||
|
|
||||||
|
pict-rs spawns processes to handle identifying and processing images. These processes have not had
|
||||||
|
many bounds in place so far, and are left to run more or less unattended for as long as they care to
|
||||||
|
take. This can cause problems when a large file is uploaded and causes clients to time out while
|
||||||
|
waiting. While the proper solution for these cases is to use the backgrounded endpoint to avoid
|
||||||
|
timing out http requests when processing large files, It may be worth limiting the duration these
|
||||||
|
processes are allowed to run for.
|
||||||
|
|
||||||
|
0.4.2 introduces a new config option: `PICTRS__MEDIA__PROCESS_TIMEOUT`, which governs how long any
|
||||||
|
given process that pict-rs spawns is allowed to run. The default value here is 30 seconds, but on
|
||||||
|
systems with slower CPUs or if larger files need to be handled, this value can be increased.
|
||||||
|
Alternatively, if only small or simple files need to be hosted, then this value can be lowered,
|
||||||
|
ensuring any file that is too complex will not be succesfully processed.
|
||||||
|
|
||||||
|
When an operation times out, this is considered a client error, since the client initiated a request
|
||||||
|
with a file too complex to process in a reasonable amount of time.
|
||||||
|
|
||||||
|
|
||||||
|
### Dangling Backgrounded Uploads
|
||||||
|
|
||||||
|
In some cases, a backgrounded upload could fail and leave the original unprocessed media in the
|
||||||
|
store, but inaccessible from any client. This is now solved by ensuring that even when processing a
|
||||||
|
backgrounded upload fails, the source files are cleaned before the job completes.
|
||||||
|
|
||||||
|
|
||||||
|
### Reqwest
|
||||||
|
|
||||||
|
This release swaps the `awc` HTTP client library for `reqwest`. Due to a number of HTTP-related
|
||||||
|
issues, and awc's status as a less-supported member of the actix-web ecosystem, pict-rs has moved to
|
||||||
|
`reqwest` for making HTTP requests. This should result in slightly better performance, fewer
|
||||||
|
dangling connections, and fewer connection errors.
|
||||||
|
|
||||||
|
The `PICTRS__SERVER__CLIENT_POOL_SIZE` variable is now less useful. Since reqwest doesn't give
|
||||||
|
control of its pool size directly, this value now limits simultaneous idle connections to a given
|
||||||
|
host.
|
Loading…
Reference in a new issue