diff --git a/modal/functions.py b/modal/functions.py index c945a4937..ee1ddba00 100644 --- a/modal/functions.py +++ b/modal/functions.py @@ -494,6 +494,8 @@ def from_args( allow_background_volume_commits: Optional[bool] = None, block_network: bool = False, max_inputs: Optional[int] = None, + max_batch_inputs: Optional[int] = None, + block_duration: Optional[float] = None, ephemeral_disk: Optional[int] = None, ) -> None: """mdmd:hidden""" @@ -807,6 +809,8 @@ async def _load(self: _Function, resolver: Resolver, existing_object_id: Optiona object_dependencies=object_dependencies, block_network=block_network, max_inputs=max_inputs or 0, + max_batch_inputs=max_batch_inputs or 1, + block_duration=block_duration or 0, cloud_bucket_mounts=cloud_bucket_mounts_to_proto(cloud_bucket_mounts), _experimental_boost=_experimental_boost, scheduler_placement=scheduler_placement.proto if scheduler_placement else None, diff --git a/modal_proto/api.proto b/modal_proto/api.proto index 79093f0a0..63034f231 100644 --- a/modal_proto/api.proto +++ b/modal_proto/api.proto @@ -941,6 +941,9 @@ message Function { string use_function_id = 54; // for class methods use this function id instead for invocations - the *referenced* function should have is_class=True string use_method_name = 55; // for class methods - this method name needs to be included in the FunctionInput + + int32 max_batch_inputs = 56; // Maximum number of inputs per batch + float block_duration = 57; // Time to block before a response is needed } message FunctionBindParamsRequest {