diff options
author | Valery Piashchynski <[email protected]> | 2021-10-06 22:35:30 +0300 |
---|---|---|
committer | GitHub <[email protected]> | 2021-10-06 22:35:30 +0300 |
commit | 98f4e867af8e4dce3d8951227db8bd1268984551 (patch) | |
tree | ddf182386f78a64210e580bcf7a0c8ab34cf6712 /CHANGELOG.md | |
parent | 59e29a90cfa6f16c790d16ac1f03a0f9f82b73d6 (diff) | |
parent | b25e0bcc94b237b3fabf6f582a3864efd300033b (diff) |
[#823]: feat(pipes,sockets): allow running scripts in the server's command
## Description of Changes
- ✏️ Remove requirement to share the same PID for the worker and root process.
According to the fork (and to be precise, `fork-exec` in go) man pages documentation,
```text
The child inherits copies of the parent's set of open file descriptors.
Each file descriptor in the child refers to the same open file description (see open(2)) as the corresponding file descriptor in the parent.
This means that the two file descriptors share open file status flags, file offset, and signal-driven I/O attributes (see the description of F_SETOWN and F_SETSIG in fcntl(2)).
```
- ✏️ Server plugin can accept scripts (sh, bash, etc) in it's `command` configuration key:
```yaml
server:
command: "./script.sh OR sh script.sh" <--- UPDATED
relay: "pipes"
relay_timeout: "20s"
```
The script should start a worker as the last command. For the `pipes`, scripts should not contain programs, which can close `stdin`, `stdout` or `stderr`.
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r-- | CHANGELOG.md | 66 |
1 files changed, 41 insertions, 25 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 09f40dd3..46de41cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -73,39 +73,55 @@ ssl: ] ``` -- ✏️ Add a new option to the `service` plugin. Service plugin will not use std RR logger as output in the flavor of raw output. +- ✏️ Add a new option to the `log` plugin to configure the line ending. By default, used `\n`. -New options: +**New option**: ```yaml -# Service plugin settings -service: - some_service_1: +# Logs plugin settings +logs: (....) - # Console output + # Line ending # - # Default: stderr. Available options: stderr, stdout - output: "stderr" - - # Endings for the stderr/stdout output - # - # Default: "\n". Available options: any. + # Default: "\n". line_ending: "\n" - - # Color for regular output - # - # Default: none. Available options: white, red, green, yellow, blue, magenta - color: "green" - - # Color for the process errors - # - # Default: none. Available options: white, red, green, yellow, blue, magenta - err_color: "red" ``` -**!!!** -Be careful, now, there is no logger plugin dependency for the `service` plugin. That means, that if you used `json` output, now, -you need to serialize data on the `executable` (in the command) side. +- ✏️ [Access log support](https://github.com/spiral/roadrunner-plugins/issues/34) at the `Info` log level. +```yaml +http: + address: 127.0.0.1:55555 + max_request_size: 1024 + access_logs: true <-------- Access Logs ON/OFF + middleware: [] + + pool: + num_workers: 2 + max_jobs: 0 + allocate_timeout: 60s + destroy_timeout: 60s +``` +- ✏️ HTTP middleware to handle Symfony's `X-Sendfile` [header](https://github.com/spiral/roadrunner-plugins/issues/9). +```yaml +http: + address: 127.0.0.1:44444 + max_request_size: 1024 + middleware: ["sendfile"] <----- NEW MIDDLEWARE + + pool: + num_workers: 2 + max_jobs: 0 + allocate_timeout: 60s + destroy_timeout: 60s +``` +- ✏️ Server plugin can accept scripts (sh, bash, etc) in it's `command` configuration key: +```yaml +server: + command: "./script.sh OR sh script.sh" <--- UPDATED + relay: "pipes" + relay_timeout: "20s" +``` +The script should start a worker as the last command. For the `pipes`, scripts should not contain programs, which can close `stdin`, `stdout` or `stderr`. ## 🩹 Fixes: |