Zakázání session na Live presenteru (Health check Docker)

MikyWoW
Člen | 9
+
0
-

Nasazuji Nette v Dockeru a mám problém s tím že mi health check generuje obrovské množství sessions v tempu. S každou kontrolou to vytvoří nový. Jde na konkrétní presenter uplně vypnout vytváření sessions? Případně jak jinak otestovat že Nette žije?

Marek Bartoš
Nette Blogger | 1280
+
0
-

Presentery se registrují samy, ale můžeš si ho zaregistrovat i manuálně. Pak už je to jen otázka nastavení injectu závislostí.

services:
	create: Bar\Baz\LivePresenter
	setup:
		- injectPrimary(session: null)

Případně si implementuj IPresenter, ten je prázdný (imho lepší řešení)

Editoval Mabar (7. 1. 2019 19:52)

David Matějka
Moderator | 6445
+
0
-

nemas nahodou v configu nastaveny session autostart na true?

MikyWoW
Člen | 9
+
0
-

V autostart nemám nastavený, mám nastaveno jen:

session:
	expiration: 7 days
	debugger: true
	savePath: "%tempDir%/session"

Zkoušel jsem nastavit autostart na smart nebo false a stejně se vytvoří. (cache jsem mazal)

IPresenter jsem zkoušel ale bez úspěchu stále vytváří session

application:
	errorPresenter: Error
	mapping:
		*: App\*Module\Presenters\*Presenter
<?php

namespace App\Presenters;

use Nette;

class LivePresenter implements Nette\Application\IPresenter
{
    /**
     * @return Application\IResponse
    */

    //Docker health check
    public function run(Nette\Application\Request $request)
    {
        \Tracy\Debugger::$showBar = FALSE;
        echo "OK";
        exit;
    }
}
MikyWoW
Člen | 9
+
0
-

Tak nakonec vyřešeno, zjistil jsem že to dělá jen v debug modu. Vypnu si tedy healtcheck na localhostu.