Skip to Content
Engineering11 Documentation 🔥

Tasks API

Asynchronous task queue management with Google Cloud Tasks integration.

What It Does

The Tasks API provides a fluent, builder-pattern interface for enqueueing asynchronous tasks using Google Cloud Tasks. It enables services to queue work for later processing without blocking requests, with support for scheduling, deduplication, and secure service-to-service communication via OIDC authentication.

Key Capabilities

CapabilityDescription
Task Queue ManagementEnqueue tasks to Google Cloud Tasks queues with exponential backoff retry
Scheduling SupportSchedule tasks up to 30 days in advance with time validation
DeduplicationMD5-based deduplication keys prevent duplicate task processing
Builder PatternFluent API for constructing and posting tasks
Multi-Service CommunicationReliable message passing between microservices
Cloud Function SupportEnqueue tasks to Google Cloud Functions with automatic URI resolution
OIDC AuthenticationSecure service-to-service authentication via OIDC tokens
Payload ValidationValidate required fields before posting tasks
Event-Based DeduplicationDeduplication from Engineering11 event IDs
Cross-Project SupportRoute tasks across GCP projects

Configuration

Default Configuration

  • Queue Location: us-central1
  • Retry Attempts: 5
  • Deduplication: MD5 hashing
  • Authentication: OIDC tokens

Cloud Tasks Limits

  • Schedule Limit: 30 days in advance
  • Named Task Limit: Automatic deduplication
  • Payload Size: 100KB max (Cloud Tasks limit)

Required Environment Variables

  • GCP Project: Auto-detected from environment
  • Service Account: Retrieved from GCP metadata

Exports

Classes

  • TaskService - Core task management
  • TaskBuilder - Fluent task construction
  • MockTaskService - Testing mock
  • TaskOptions - Task configuration
  • TaskBody - Task payload

Functions

  • sendToTask() - High-level task sending
  • allKeys() - CRC-32 based deduplication

Types and Interfaces

  • ICloudTaskSpec - Task specification
  • DedupKeySpec - Deduplication configuration
  • ITaskPayload - Base payload interface
  • IFunctionTaskOptions - Function task configuration

Constants

  • Error types and defaults

Common Use Cases

  • Async processing: Queue long-running operations without blocking requests
  • Email sending: Queue email tasks for batch processing
  • Data processing: Schedule ETL jobs and batch operations
  • Notifications: Send delayed or scheduled notifications
  • Webhooks: Reliable webhook delivery with retries
  • Cross-service communication: Message passing between microservices
  • Scheduled jobs: Cron-like task scheduling
  • Rate limiting: Queue tasks to prevent API rate limits

Roadmap

Multi-Cloud Support

This API currently supports Google Cloud Platform. Future versions will add support for additional cloud providers and container-based deployment options, enabling greater flexibility in infrastructure choices.

What Customers Don’t Have to Build

  • Google Cloud Tasks integration
  • Fluent builder pattern interfaces
  • Deduplication key generation (MD5, CRC-32)
  • Task scheduling validation
  • Cloud Function URI resolution
  • OIDC authentication setup
  • Exponential backoff retry logic
  • Payload validation framework
  • Base64 payload encoding
  • App Engine routing
  • Cross-project task routing
  • Service account management
  • Named task creation
  • Time-window deduplication
  • Task payload serialization
  • Error handling for transient failures
  • Queue location management
  • Cross-organization routing
Last updated on