mirror of
https://git.asonix.dog/asonix/pict-rs.git
synced 2024-11-27 20:11:16 +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