summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_router.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2018-01-29Introducing extended app process management.Max Romanov1-3/+14
- Pre-fork 'processes.spare' application processes; - fork more processes to keep 'processes.spare' idle processes; - fork on-demand up to 'processes.max' count; - scale down idle application processes above 'processes.spare' after 'processes.idle_timeout'; - number of concurrently started application processes also limited by 'processes.spare' (or 1, if spare is 0).
2017-12-28Removed duplicate declaration.Igor Sysoev1-0/+2
2017-12-28Removed duplicate declaration.Igor Sysoev1-3/+0
2017-12-28HTTP keep-alive connections support.Igor Sysoev1-0/+7
2017-12-27Implementing worker stop after limits.requests.Max Romanov1-0/+1
2017-12-27Rescheduling of pending request after configured timeout.Max Romanov1-1/+3
New optional configuration parameter introduced: limits.reschedule_timeout. Default value 1 second. In the case when request is written to the port socket 'in advance', it is called 'pending'. On every completed request, the head of pending request is checked against reschedule timeout. If this request waiting for execution longer than timeout, it is cancelled, new port selected for this request.
2017-10-18Router: fixed segfault after configuration change.Igor Sysoev1-9/+8
2017-10-04Introducing use counters for port and app. Thread safe port write.Max Romanov1-1/+5
Use counter helps to simplify logic around port and application free. Port 'post' function introduced to simplify post execution of particular function to original port engine's thread. Write message queue is protected by mutex which makes port write operation thread safe.
2017-09-15Introducing application timeout.Max Romanov1-0/+2
2017-09-14Router: fixed segmentation fault.Igor Sysoev1-0/+6
The router process exited abnormally on reconfiguration if number of worker threads had been decreased on the previous reconfiguration. Besides the list of router engines should be updated only after a new configuration joints have been prepared for all engines.
2017-08-29The master process has been renamed to the main process.Igor Sysoev1-1/+1
2017-08-17The new module configuration interface.Igor Sysoev1-1/+6
Configuration and building example: ./configure ./configure python ./configure php ./configure go make all or ./configure make nginext ./configure python make python ./configure php make php ./configure go make go Modules configuration options and building examples: ./configure python --module=python2 --config=python2.7-config make python2 ./configure php --module=php7 --config=php7.0-config --lib-path=/usr/local/php7.0 make php7 ./configure go --go=go1.6 --go-path=${HOME}/go1.6 make go1.6
2017-08-11Request body read state implemented.Max Romanov1-0/+4
With specific timeout and buffer size settings.
2017-08-02Using port rpc in router->master start worker request.Max Romanov1-2/+1
2017-07-18Port allocation and destroy changed. Worker process stop introduced.Max Romanov1-3/+5
2017-07-16Fixed building by Clang.Igor Sysoev1-3/+0
2017-07-14Router: using joint job queues instead of arrays to passIgor Sysoev1-3/+1
listening socket handlers to worker engines.
2017-07-14Router: using joint jobs to pass listening socket handlers toIgor Sysoev1-3/+10
worker engines.
2017-07-12New process port exchange changed. READY message type introduced.Max Romanov1-2/+11
Application process start request DATA message from router to master. Master notifies router via NEW_PORT message after worker process become ready.
2017-07-11Sending a result of configuration applying back to the controller.Igor Sysoev1-4/+4
2017-07-07Router: processing application configuration.Igor Sysoev1-0/+24
2017-07-06Router: read configuration from port.Max Romanov1-0/+2
Controller: stub to send configuration from POST body "as is" to router.
2017-07-05Router: processing JSON configuration.Igor Sysoev1-7/+20
2017-06-20Using new memory pool implementation.Igor Sysoev1-2/+2
2017-05-31Skeleton of router configuration and request processing.Igor Sysoev1-0/+78