Skip to content

Commit ee8c2f0

Browse files
fix: add DNS resolution configuration for Docker networking
Co-Authored-By: Rushil Srivastava <[email protected]>
1 parent 59ff6b8 commit ee8c2f0

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

fastapi_gcp_tasks/utils.py

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,22 @@ def emulator_client() -> tasks_v2.CloudTasksClient:
4949
host = os.getenv("CLOUD_TASKS_EMULATOR_HOST", "localhost")
5050
port = os.getenv("CLOUD_TASKS_EMULATOR_PORT", "8123")
5151
target = f"{host}:{port}"
52-
channel = grpc.insecure_channel(
53-
target,
54-
options=[
55-
('grpc.enable_http_proxy', 0),
56-
('grpc.enable_retries', 0),
57-
('grpc.max_receive_message_length', -1),
58-
('grpc.max_send_message_length', -1),
59-
('grpc.keepalive_time_ms', 30000),
60-
],
61-
)
52+
53+
# Configure DNS resolution for Docker networking
54+
options = [
55+
('grpc.enable_http_proxy', 0),
56+
('grpc.enable_retries', 0),
57+
('grpc.max_receive_message_length', -1),
58+
('grpc.max_send_message_length', -1),
59+
('grpc.keepalive_time_ms', 30000),
60+
('grpc.dns_resolver_query_timeout_ms', 1000),
61+
('grpc.dns_resolver_backoff_multiplier', 1.0),
62+
('grpc.dns_resolver_backoff_jitter', 0.0),
63+
('grpc.dns_resolver_backoff_min_seconds', 1),
64+
('grpc.dns_resolver_backoff_max_seconds', 5),
65+
]
66+
67+
# Create channel with DNS resolution options
68+
channel = grpc.insecure_channel(target, options=options)
6269
transport = transports.CloudTasksGrpcTransport(channel=channel)
6370
return tasks_v2.CloudTasksClient(transport=transport)

0 commit comments

Comments
 (0)