Thanks for the response. The main issue is that now request is closed before actual task is done in thread pool. How can I avoid that? It worked fine before the upgrade. What is correct thread pool usage in custom module in 1.14?
Here is my request handler for reference: static ngx_int_t ngx_http_thread_handler(ngx_http_request_t* r) { //... // Add handler (blocking handler) task->handler = ngx_http_cgpi_task_handler; // Init event task->event.data = taskCtx; task->event.handler = ngx_http_cgpi_task_done_cb; // Try to get the pool to put task ngx_thread_pool_t* tp = clcf->thread_pool; if (tp == NULL) { // Create pool if not exists if (ngx_http_complex_value(r, clcf->thread_pool_value, &name) != NGX_OK) { ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "ngx_http_complex_value \"%V\" failed", &name); return NGX_ERROR; } tp = ngx_thread_pool_get((ngx_cycle_t* ) ngx_cycle, &name); if (tp == NULL) { ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "thread pool \"%V\" not found", &name); return NGX_ERROR; } } // Put the task into thread pool if (ngx_thread_task_post(tp, task) != NGX_OK) { return NGX_ERROR; } // Make the request blocked r->main->blocked++; r->aio = 1; return NGX_AGAIN; } Posted at Nginx Forum: https://forum.nginx.org/read.php?2,279917,279920#msg-279920 _______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx