Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pre-release: v2023.3.0-beta.1 #1684

Merged
merged 3 commits into from
Aug 18, 2023
Merged

pre-release: v2023.3.0-beta.1 #1684

merged 3 commits into from
Aug 18, 2023

Conversation

rustatian
Copy link
Member

@rustatian rustatian commented Aug 18, 2023

Reason for This PR

Description of Changes

🚀 v2023.3.0-beta.1 🚀

👀 New

  • ✒️ Service plugin: Support for the user/group per-service: FR, (thanks @Kaspiman)

Configuration example:

service:
    schedule:run:
        command: "bin/console schedule:run"
        process_num: 1
        exec_timeout: 0s
        remain_after_exit: true
        service_name_in_log: false
        restart_sec: 60
        user: www-data  # <---------- [NEW]
        group: www-data # <---------- [NEW]
  • ✒️ Temporal plugin: Replay API support [SINCE PHP-SDK 2.6.0]: FR
  • ✒️ RR core: sdnotify support: FR, (thanks @Kaspiman)
  • ✒️ HTTP response streaming support: : FR, (thanks @roxblnfk)

Worker.php example:

<?php

require __DIR__ . '/vendor/autoload.php';

use Spiral\RoadRunner;

ini_set('display_errors', 'stderr');
require __DIR__ . "/vendor/autoload.php";

$worker = RoadRunner\Worker::create();
$http = new RoadRunner\Http\HttpWorker($worker);
$read = static function (): Generator {
    foreach (\file(__DIR__ . '/test.txt') as $line) {
        try {
            yield $line;
        } catch (Spiral\RoadRunner\Http\Exception\StreamStoppedException) {
            // Just stop sending data
            return;
        }
    }
};

try {
    while ($req = $http->waitRequest()) {
        $http->respond(200, $read());
    }
} catch (\Throwable $e) {
    $worker->error($e->getMessage());
}
  • ✒️ HTTP plugin: Support for the 103 Early Hints via streamed response: FR, (thanks @roxblnfk)
  • ✒️ RAW command support: Support for raw commands, which are not validated by RR and may contain spaces. Note that this feature is only supported via .rr.yaml configuration: FR, (thanks @nunomaduro)

Configuration:

version: "3"

server:
  command: ["php", "../../php_test_files/client.php echo pipes"]
  relay: "pipes"
  relay_timeout: "20s"
version: "3"

server:
    command:
      - "php"
      - "../../php_test_files/client.php echo pipes"
    relay: "pipes"
    relay_timeout: "20s"

First argument should be a command (executable) and the rest of the arguments are passed to the command as arguments.

  • ✒️ JOBS plugin: Parallel pipelines start/stop/destroy initialization. If you have a much number of the pipelines, this feature should significantly reduce RR startup/shutdown time: FR, (thanks @Kaspiman)

🩹 Fixes

  • 🐛 RR Core: Actualize according to the docs ./rr jobs list/stop/resume commands: PR, (thanks @gam6itko).
  • 🐛 JOBS plugin: Correctly handle OTEL span on listener error: PR, (thanks @Kaspiman).
  • 🐛 RR tests: Fix tests failures on Darwin: PR, (thanks @shyim).

🧹 Chore:

  • 🧑‍🏭 Golang: Update Golang version to v1.21.
  • 🧑‍🏭 Dependencies: update project dependencies.

License Acceptance

By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.

PR Checklist

[Author TODO: Meet these criteria.]
[Reviewer TODO: Verify that these criteria are met. Request changes if not]

  • All commits in this PR are signed (git commit -s).
  • The reason for this PR is clearly provided (issue no. or explanation).
  • The description of changes is clear and encompassing.
  • Any required documentation changes (code and docs) are included in this PR.
  • Any user-facing changes are mentioned in CHANGELOG.md.
  • All added/changed functionality is tested.

Signed-off-by: Valery Piashchynski <piashchynski.valery@gmail.com>
@rustatian rustatian added C-enhancement Category: enhancement. Meaning improvements of current module, transport, etc.. R-beta Release: Nominated for backporting to the RR in the beta channel. labels Aug 18, 2023
@rustatian rustatian added this to the v2023.3.0 milestone Aug 18, 2023
@rustatian rustatian requested a review from wolfy-j August 18, 2023 16:56
@rustatian rustatian self-assigned this Aug 18, 2023
Signed-off-by: Valery Piashchynski <piashchynski.valery@gmail.com>
@codecov
Copy link

codecov bot commented Aug 18, 2023

Codecov Report

Merging #1684 (7637471) into master (358cd39) will not change coverage.
Report is 1 commits behind head on master.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1684   +/-   ##
=======================================
  Coverage   38.00%   38.00%           
=======================================
  Files          16       16           
  Lines         842      842           
=======================================
  Hits          320      320           
  Misses        496      496           
  Partials       26       26           
Files Changed Coverage Δ
container/config.go 82.35% <ø> (ø)

@rustatian rustatian merged commit 9f15de1 into master Aug 18, 2023
5 of 6 checks passed
@rustatian rustatian deleted the release/v2023.3.0-beta.1 branch August 18, 2023 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: enhancement. Meaning improvements of current module, transport, etc.. R-beta Release: Nominated for backporting to the RR in the beta channel.
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant