foundatio

Provide pluggable infrastructure abstractions for caching, queuing, messaging, and file storage.

2.5k|507|Updated Feb 7, 2014
One-click install
npx skills add https://github.com/exceptionless/Exceptionless --skill foundatio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: foundatio
Source: https://github.com/exceptionless/Exceptionless/tree/main/.agents/skills/foundatio
Command: npx skills add https://github.com/exceptionless/Exceptionless --skill foundatio

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill simplifies working with common infrastructure concerns like caching, queuing, messaging, and file storage by providing consistent, pluggable abstractions.

Core Features & Use Cases

  • Infrastructure Abstractions: Provides interfaces for ICacheClient, IQueue, IMessageBus, IFileStorage, ILockProvider, and IJob.
  • Production & In-Memory Implementations: Supports both in-memory versions for testing and production-ready backends like Redis and S3.
  • Resilience: Integrates with Polly for robust retry and circuit breaker patterns.
  • Use Case: Implement background job processing for tasks like sending emails or processing images using IQueue and QueueJobBase.

Quick Start

Use the foundatio skill to enqueue a new EventPost item with the specified organization, project, and file path.

Frequently Asked Questions about foundatio

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement pluggable infrastructure abstractions for caching and queuing in a distributed system?

Pluggable infrastructure abstractions for caching and queuing provide consistent interfaces like ICacheClient and IQueue, allowing you to swap in-memory implementations with production backends like Redis and SQS without changing core application logic.

Can I use in-memory caching and queuing for local testing before deploying to Redis or S3?

In-memory caching and queuing implementations are fully supported for local testing, providing direct drop-in replacements for production backends like Redis, SQS, and S3 to streamline development and debugging workflows.

What is the best way to add resilience and retry patterns to message bus and background job processing?

Adding resilience to message bus and background job processing is handled through Polly integration, supplying robust retry and circuit breaker patterns directly within the infrastructure abstractions for scalable distributed systems.

How do I set up background job processing for tasks like sending emails or processing images?

Background job processing for tasks like sending emails or processing images is set up using the IQueue interface and QueueJobBase, allowing you to enqueue items like EventPost with specific organization, project, and file path parameters.

Does this messaging abstraction support file storage and distributed locking across different cloud providers?

The messaging abstraction supports file storage and distributed locking across cloud providers through IFileStorage and ILockProvider interfaces, with production-ready implementations for S3, Azure, and Redis backends.