We’re excited to share that two powerful new capabilities are now generally available for OCI Functions

  • Long-Running Functions – run for up to 60 minutes in detached mode
  • Response Destinations – automatically capture success and failure outcomes to Streaming, Queue, or Notifications

These features remove long-standing limits for serverless workloads on OCI and unlock new automation patterns, data pipelines, and integration scenarios. Developers can now handle long-duration tasks and build event-driven workflows without polling, cron jobs, or custom orchestration. Results can be simply routed downstream for clean, scalable automation.

Long-Running Functions: Go Beyond 5 Minutes

Until now, OCI Functions supported executions of up to 5 minutes, perfect for lightweight automations but limiting for heavier workloads. With Long-Running Functions, you can now extend execution to an hour by setting the detachedModeTimeoutInSeconds field to up to 60 minutes (3600 seconds) and invoking functions in detached mode. This lets you offload complex jobs to serverless infrastructure without re-architecting them into multiple chained invocations.

Example Use Cases

  • AI/ML inference or preparation – run larger-scale model scoring or data prep tasks without breaking them into smaller chunks.
  • File processing and ETL – handle conversions, compressions, or multi-step data ingestion pipelines.
  • Batch jobs & business logic – run scheduled reconciliations, financial calculations, or compliance reporting.
  • Third-party integrations – orchestrate long API calls or workflows that don’t complete in seconds.

And because these still run on OCI Functions, you keep the benefits of serverless: no infrastructure management, automatic scaling, and pay-per-use pricing.

*Long-Running Functions require detached invocation. Learn more about synchronous vs. detached invocation types.

Response Destinations: Always Know the Outcome

Running long or asynchronous tasks introduces a challenge: how do you know what happened once the function finishes? That’s where Response Destinations come in. They automatically send the outcome of a function invocation to another OCI service. If the function completes successfully, you can trigger the next step, store a result marker, or notify downstream systems. If it fails, you’ll receive error details such as status code, error code, and message, making it simple to log issues, alert teams, or coordinate retries.

Destinations can be configured separately for success and failure, and today you can route them to Streaming, Queue, or Notifications. This makes it easy to connect function outcomes directly into pipelines or alerting systems without manual checks or external orchestration.

Getting Started: Long Running Functions 

To allow your function to run beyond 5 minutes, set the detachedModeTimeoutInSeconds field when creating or updating your function.

Console Example

  • Open the Functions service in the OCI Console.
  • Select your application and click Create Function (or edit an existing one)
  • Click on Detached invocation timeout (in seconds) and enter desired value (up to 3600 seconds).

Console Create Function

CLI Example

oci fn function create \
  --application-id <app_ocid> \
  --display-name "long-fn" \
  --image "<image>" \
  --memory-in-mbs 256 \
  --detached-mode-timeout-in-seconds 1800
#Detached mode is required for long-running execution. Sync invocations will continue to use the default timeout.

Getting Started: Configure Success/Failure Response Destination

You can also configure destinations that automatically receive the status of a function once it finishes. Be sure your Functions application has the required IAM policies to write results to your chosen Notification, Queue, or Streaming destinations. Without these permissions, destinations won’t receive status updates. See Creating IAM Policies for Detached Invocation Success and Failure Destinations for policy examples and more details.

Console Example

  1. Open the Functions service in the OCI Console.
  2. Select your application and click Create Function (or edit an existing one)
  3. Select Success destination or Failure destination field to view supported destinations
  4. Choose from supported services such as Streaming, Queue, or Notification as destination 

Console Configure Response Destination

CLI Example

Create small JSON files that describe the destinations:

success-dest.json 

{"kind":"NOTIFICATION","topicId":"<topic_OCID>"} 

failure-dest.json

{"kind":"QUEUE","queueId":"<queue_OCID>","channelId":"failure-channel"}

CLI Creation

oci fn function create \
  --application-id <app_ocid> \
  --display-name "long-fn-with-dest" \
  --image "<image>" \
  --memory-in-mbs 256 \
  --detached-mode-timeout-in-seconds 1200 \
  --success-destination file://success-dest.json \
  --failure-destination file://failure-dest.json

Try It Today

Long-Running Functions and Response Destinations are now available in all commercial OCI regions at no additional cost, beyond standard execution and service usage.  With these capabilities, you can finally run complex jobs without re-architecting and gain visibility into asynchronous executions without the overhead of polling or custom code. Get started with OCI Functions today and see how these new features can help you build more responsive, event-driven workflows.

To learn more, see the following resources: