Handler Types

Basic

import runpod

def handler(job):
	return "Your job results"

runpod.serverless.start({
  "handler": handler # Required
})

Generator Type

RunPod provides a robust streaming feature that enables users to receive real-time updates on job outputs, mainly when dealing with Language Model tasks. We support two types of streaming generator functions: regular generator and async generator.

import runpod

def generator_handler(job):
	for count in range(3):
    result = f"This is the {count} generated output."
    yield result 
    
runpod.serverless.start({
  "handler": generator_handler, # Required
  "return_aggregate_stream": True # Optional, results available via /run
})

Async Generator

import runpod

async def async_generator_handler(job):
    for i in range(5):
        output = f"Generated async token output {i}"
        yield output
        await asyncio.sleep(1)  # Simulate an asynchronous task (e.g., LLM processing time).
        
runpod.serverless.start({
  "handler": async_generator_handler, # Required
  "return_aggregate_stream": True # Optional, results available via /run
})