Skip to main content
Version: v2.10.0

Yeedu Functions

Yeedu Functions let you run jobs through REST APIs, so we can give you event-driven, scalable and fully managed execution. A function is still a job. It lives in a workspace, binds to a cluster, runs Python from a script path you choose, and carries the same Advanced Options as every other job type, with a generated Function URL and an Auth Token on top.

Create one from the Jobs tab of a workspace by setting Job Type to Functions.

job-function-type.png

We trigger them from ordinary HTTP requests, which makes them a good fit for:

  • Automation
  • Event-driven pipelines
  • External integrations
  • Micro-batch workflows

Job Fields

FieldRequiredNotes
Job NameYesName of the job
ClusterCluster the function runs on; an inline + creates a new cluster
Job TypeYesFunctions
LanguageYesPython
Project PathNoChoose Project Path — project folder containing the function code
Script PathYesChoose Script Path — script file that defines the function
Function NameYesName of the function to invoke inside the script
Function RequirementsNoPip requirements, one per line — for example pandas==2.1.1, numpy==1.26.0

job-functionpath-url.png

Invocation Details

FieldNotes
Function URLREST endpoint generated for this function
Auth TokenToken used to authenticate requests to the Function URL
Copy cURLCopies a ready-to-run cURL command built from the URL, token and example body
Example Request BodyJSON editor holding a sample payload
Format JSONPretty-prints the content of the Example Request Body editor

Function Concurrency

FieldDescription
Max Concurrent Jobs"Maximum number of instances of this job allowed to run at the same time. Once this limit is reached, no new instances will be started — whether by auto-scaling or a manual run — until an existing instance finishes. Set to 0 for no limit."
Max Concurrent Request"Maximum number of requests a single job instance will process at the same time. If incoming requests exceed the combined capacity of all running instances, Yeedu automatically starts additional instances (up to the Max Concurrent Jobs limit)."

Function Timeout

FieldDescription
Job Timeout(seconds)"How long a job instance can sit with no incoming requests before it's automatically shut down. The timer only counts idle time. It resets whenever a new request arrives and doesn't limit how long an active request may take to complete."
HTTP Request Timeout"How long the proxy will wait for a job instance to respond to a request. If no response is received within this time, the request fails with a timeout error, even though the job instance itself may still be running."

function-request.png

Advanced Options

Functions don't get a section of their own here; they use the same Advanced Options section as every other job type. An Append checkbox plus the Configs | Packages | Jars | Repositories | Archives | Files tabs, Principal & Key Tab, Driver Config, Concurrent Runs and Timeout. See Create Job.

note

Function Concurrency governs how many function instances and in-flight requests the endpoint serves. The Concurrent Runs setting in Advanced Options isn't the same knob: it governs concurrent runs of the job itself.

Executing a Function

  1. Configure all required settings
  2. Click Create (or Update when editing an existing job)
  3. Trigger the function using the Function URL via REST API, passing the Auth Token. The Copy cURL button produces a working example