Updates gunicorn's multithreading logic to derive the maximum concurrency the container can handle from the number of cores available to the functon. 4 invocations per core (given that memory additionally scales with cores) will be a good default concurrency limit that most functions will support without running into resource problems.
Updates gunicorn's multithreading logic to derive the maximum concurrency the container can handle from the number of cores available to the functon. 4 invocations per core (given that memory additionally scales with cores) will be a good default concurrency limit that most functions will support without running into resource problems.