ݺߣ

ݺߣShare a Scribd company logo
Asynchronně v PHP
Zkušenosti z vývoje API pro hele.cz
O čem to nebude
- Threads
- Subprocesses
SINGLE THREADED
Asynchronně v PHP
Asynchronní http server
MySQL connection timeout
MySQL connection timeout
MySQL connection timeout
Doctrine: EntityManager is closed
Doctrine: EntityManager is closed
Doctrine: Identity map
Doctrine: Identity map
1. Request
Doctrine: Identity map
1. Request 2. Request
Doctrine + RabbitMQ
Doctrine + RabbitMQ
Doctrine + RabbitMQ
PHP Fatal error: Allowed memory size
of 2147483648 bytes exhausted
Bezpečné vypnutí
Co knihovna, to jiný svět
- Vlastní implementace loop, promise
(guzzle/guzzle – http client)
Absence async knihoven
- MVP, routování,…
- Práce s databází, ORM,…
- Služby třetích stran – newrelic apod
Static analysis
Static analysis
Static analysis
JavaScript and Flowtype
Static analysis
JavaScript and Flowtype
Static analysis
JavaScript and Flowtype
Static analysis
JavaScript and Flowtype
Zero-Downtime Deployment
- nestačí symlink
- porty
- health check
Zero-Downtime Deployment
S čím začít ještě dnes?
Asynchronní zpracování RabbitMQ front
https://github.com/jakubkulhan/bunny
S čím začít zítra?
Vše o tématu asynchronního PHP
https://github.com/elazar/asynchronous-php
Dotazy?
Josef Kříž
github.com/pepakriz
@pepakriz

More Related Content

Asynchronně v PHP