Asynchronně v PHPZkušenosti z vývoje API pro hele.cz
O čem to nebude
- Threads- Subprocesses
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
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 analysisJavaScript and Flowtype
Static analysisJavaScript and Flowtype
Static analysisJavaScript and Flowtype
Static analysisJavaScript 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 PHPhttps://github.com/elazar/asynchronous-php
Dotazy?
Josef Křížgithub.com/pepakriz
@pepakriz