Latest post
Catalog Traversal with Hangfire. Part 3: Advanced Job Management
In Part 1, I showed how to build a memory-efficient catalog traversal service, and in Part 2, I demonstrated practical patterns using Optimizely’s built-in scheduled jobs.
Read more ...Catalog Traversal in Action. Part 2: Real-World Scheduled Job Patterns
In my previous post, I showed how to build a memory-efficient catalog traversal service for Optimizely Commerce. The service uses streaming to process large catalogs without loading everything into memory at once.
Read more ...Memory-Efficient Catalog Traversal in Optimizely Commerce. Part 1: Building the Service
If you’ve worked with Optimizely Commerce for any length of time, you’ve probably faced this scenario: you need to process an entire product catalog in a scheduled job. Maybe you’re syncing to an external PIM system, exporting data for analytics, or performing bulk updates. The straightforward approach of loading all products into memory works fine for small catalogs, but once you hit thousands of products, things start to get uncomfortable.
Read more ...Quiet Performance Wins: Scheduled Job for SQL Index Maintenance in Optimizely
As Optimizely CMS projects grow, it’s not uncommon to introduce custom tables—whether for integrations, caching, or specialized business logic. But with great schema comes great responsibility: SQL Server indexes and statistics need love too.
Read more ...How to automatically remove orphaned Opti jobs from the DB
Optimizely CMS provides a simple yet powerful built-in job system that handles most standard scheduling scenarios with ease. Developers can easily implement these jobs to run automatically on a defined schedule or trigger them manually through the CMS interface. From my experience as an Optimizely/Episerver developer, manual jobs are especially useful for one-off operations or bulk content updates. Typically, these jobs serve a temporary purpose and are removed from the codebase in subsequent releases once they’ve fulfilled their role.
Read more ...Recent posts
- October 08, 2025: Quiet Performance Wins: Scheduled Job for SQL Index Maintenance in Optimizely
- September 04, 2025: How to automatically remove orphaned Opti jobs from the DB
- June 12, 2025: Tunning Application Insights telemetry filtering in Optimizely
- May 26, 2025: Running full Optimizely development setup on M1 (ARM) based machine
- July 31, 2024: Adding Hangfire to Episerver/Optimizely CMS 12
- August 15, 2023: Add SonarCloud/SonarQube to Episerver/Optimizely 12 project using Github actions
- July 30, 2022: Add Github pipelines/workflows to Episerver 12 project
- July 28, 2022: Episerver Foundation on Apple Silicon (M1)!