Search
Write a publication
Pull to refresh
1
0
Максим @Sho0ter

User

Send message
Я думаю, что умирать он будет и так… еще с десяток лет, а может и не один :)
А по существу, то даже так прирост производительности будет, ибо нет создания процесса, подключения файлов и компиляции кода/загрузка из опкэша)
RoadRunner интегрируется посредством добавления цикла с получением PSR-7 запроса, поверх обычного запуска приложения, примерно вот так:

Код воркера
<?php

use Spiral\Goridge\StreamRelay;
use Spiral\RoadRunner\Worker;
use Spiral\RoadRunner\PSR7Client;

use Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory;
use Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory;

use Illuminate\Http\Request;

require_once(__DIR__ . '/../vendor/autoload.php');

$relay = new StreamRelay(STDIN, STDOUT);
$psr7 = new PSR7Client(new Worker($relay));

$requester = new HttpFoundationFactory();
$responder = new DiactorosFactory();

$app = require_once(__DIR__ . '/../bootstrap/app.php');
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

while ($psr7Request = $psr7->acceptRequest()) {

    try {

        $request = Request::createFromBase(
            $requester->createRequest($psr7Request)
        );

        $response = $kernel->handle($request);
        $kernel->terminate($request, $response);

        $psr7Response = $responder->createResponse($response);
        $psr7->respond($psr7Response);
		
    } catch (\Throwable $e) {
        $psr7->getWorker()->error((string) $e);
    }
}


При таком подходе, постоянно есть ссылка только на инстанс $app и $kernel. Все остальное, что находится вне этих инстансов, сборщик мусора затирает (ибо он затирает все, на что ссылок больше не осталось), в том числе и подключения к БД (если они созданы вне контейнера $app), сокеты и прочие ресурсы.

В теории, если внести создание $app и $kernel внутрь цикла, то сборщик мусора при каждом новом запросе будет чистить абсолютно все.
Установил standalone версию на сетевой диск. Кликнул на vivaldi.exe, процесс запустился и через пару секунд молча грохнулся. Спасибо, ждем 3.0 (нет)
Заголовок last-modified и так выдает время загрузки картинки
По поводу DNS-резолва: проблема не только на Android. На 3х ПК с Windows 10 резолв стабильно идет несколько секунд и это очень разражает, на Linux такого нет.
В целом за сервис огромное спасибо :)
По поводу сообщения при событии group_join:
901 Нельзя первым писать пользователю от имени сообщества.

Документация messages.send

Information

Rating
Does not participate
Location
Белая Церковь, Киевская обл., Украина
Date of birth
Registered
Activity