OCI Functions: Timeout scenarios with Long-Running Execution despite Increasing Timeout Settings
I'm experiencing a timeout scenario with my OCI Functions where the function continues to return a 'Function timed out' behavior even after I have updated the timeout settings. The function is supposed to process a batch of images and upload them to Object Storage, and it typically takes around 3 minutes to run, but I'm setting the timeout to 10 minutes. I've used the following command to deploy my function with the updated timeout: ```bash oci fn function create --compartment-id <compartment_id> --app-id <app_id> --display-name <function_name> --image <image_uri> --memory-in-mbs 512 --timeout 10 ``` I've confirmed that the settings have been updated by running: ```bash oci fn function get --function-id <function_id> ``` The output shows the timeout is indeed set correctly: ```json { "timeout": 10, "memoryInMBs": 512, "image": "<image_uri>" } ``` Despite this, I'm still seeing the timeout behavior in the logs: ``` 2023-10-01T12:00:00Z behavior Function timed out after 240 seconds ``` I've also tried increasing the memory allocation to see if that would help with performance, but it didn't seem to resolve the scenario. Additionally, the function works perfectly fine when processing a smaller batch of images, so I suspect it might be related to how Iām handling the concurrent processing of the images. Here's a simplified version of the code that processes the images: ```python import oci def process_images(image_list): for image in image_list: # Simulate processing time time.sleep(5) # Replace with actual processing code upload_to_object_storage(image) return 'Processing Complete' ``` I've considered splitting the processing into smaller batches, but I'm unsure how that would impact the OCI Functions architecture. Has anyone else faced a similar timeout scenario with OCI Functions, and what solutions did you implement to resolve it?