Skip to content

Commit 114109c

Browse files
committed
Infer thread polling config from sys version
1 parent 46e4c6a commit 114109c

2 files changed

Lines changed: 11 additions & 14 deletions

File tree

awslambdaric/lambda_config.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,10 @@
33
"""
44

55
import os
6+
import sys
67

78

89
class LambdaConfigProvider:
9-
SUPPORTED_THREADPOLLING_ENVS = {
10-
"AWS_Lambda_python3.12",
11-
"AWS_Lambda_python3.13",
12-
"AWS_Lambda_python3.14",
13-
"AWS_Lambda_python3.15",
14-
}
1510
SOCKET_PATH_ENV = "_LAMBDA_TELEMETRY_LOG_FD_PROVIDER_SOCKET"
1611
AWS_LAMBDA_RUNTIME_API = "AWS_LAMBDA_RUNTIME_API"
1712
AWS_LAMBDA_MAX_CONCURRENCY = "AWS_LAMBDA_MAX_CONCURRENCY"
@@ -38,10 +33,7 @@ def _parse_concurrency(self):
3833
return self._environ.get(self.AWS_LAMBDA_MAX_CONCURRENCY)
3934

4035
def _parse_thread_polling(self):
41-
return (
42-
self._environ.get(self.AWS_EXECUTION_ENV)
43-
in self.SUPPORTED_THREADPOLLING_ENVS
44-
)
36+
return sys.version_info >= (3, 10)
4537

4638
def _parse_lmi_socket_path(self):
4739
return self._environ.get(self.SOCKET_PATH_ENV)

tests/test_lambda_config.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,20 @@ def test_concurrency_and_is_multi_concurrent(self):
4242
self.assertFalse(cfg2.is_multi_concurrent)
4343

4444
def test_use_thread_polling_flag(self):
45+
# Thread polling is enabled based on Python version (>= 3.10),
46+
# not on AWS_EXECUTION_ENV
47+
import sys
48+
4549
env = {
4650
"AWS_LAMBDA_RUNTIME_API": "a",
47-
"AWS_EXECUTION_ENV": "AWS_Lambda_python3.12",
51+
"AWS_EXECUTION_ENV": "AWS_Lambda_Image",
4852
}
4953
cfg = LambdaConfigProvider(["p", "h.fn"], environ=env)
50-
self.assertTrue(cfg.use_thread_polling)
51-
env2 = {"AWS_LAMBDA_RUNTIME_API": "a", "AWS_EXECUTION_ENV": "OTHER"}
54+
self.assertEqual(cfg.use_thread_polling, sys.version_info >= (3, 10))
55+
56+
env2 = {"AWS_LAMBDA_RUNTIME_API": "a"}
5257
cfg2 = LambdaConfigProvider(["p", "h.fn"], environ=env2)
53-
self.assertFalse(cfg2.use_thread_polling)
58+
self.assertEqual(cfg2.use_thread_polling, sys.version_info >= (3, 10))
5459

5560
def test_lmi_socket_path_property(self):
5661
env = {

0 commit comments

Comments
 (0)