Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Meteor
  3. percolate:synced-cron

percolate:synced-cron

MITJavaScript

A Meteor package providing a cron system with synchronization across multiple server processes.

Visit WebsiteGitHubGitHub
494 stars111 forks0 contributors

What is percolate:synced-cron?

Synced Cron is a Meteor package that provides a simple cron system for scheduling and executing recurring tasks within Meteor applications. It solves the problem of duplicate job execution in distributed deployments by using MongoDB to coordinate between multiple server processes, ensuring each scheduled job runs only once across the cluster.

Target Audience

Meteor developers who need to run scheduled background jobs (like data aggregation, report generation, or cleanup tasks) in a multi-server deployment environment where process synchronization is required.

Value Proposition

Developers choose Synced Cron over generic Node.js cron solutions because it offers built-in synchronization for Meteor apps, preventing duplicate executions without external services, and integrates seamlessly with Meteor's ecosystem and MongoDB.

Overview

A simple cron system for Meteor. It supports syncronizing jobs between multiple processes.

Use Cases

Best For

  • Running scheduled tasks in a Meteor application deployed across multiple server instances.
  • Ensuring a cron job (like sending daily email digests) executes only once per interval in a distributed setup.
  • Maintaining a detailed history and log of job executions within MongoDB for auditing or debugging.
  • Scheduling jobs with flexible, human-readable syntax using the Later.js library (e.g., 'every 2 hours').
  • Managing cron jobs programmatically via an API to add, remove, pause, or query jobs at runtime.
  • Configuring cron behavior with options like custom logging, UTC time, or TTL for history records.

Not Ideal For

  • Non-Meteor applications or projects using other Node.js frameworks like Express or NestJS.
  • Deployments on serverless or ephemeral hosting platforms (e.g., Heroku free tier) where instances shut down during inactivity.
  • Systems requiring advanced job scheduling features such as automatic retries, job prioritization, or real-time monitoring dashboards.
  • Teams that prefer to use external, language-agnostic job schedulers like Redis-based queues (e.g., Bull) for better scalability and decoupling.

Pros & Cons

Pros

Process Synchronization

Uses a MongoDB collection to coordinate job execution across multiple server processes, ensuring each scheduled job runs only once per interval, as explicitly described in the README for distributed deployments.

Flexible Scheduling

Leverages the Later.js library for expressive scheduling via human-readable text or parser objects, allowing complex cron patterns without manual date calculations, as shown in the API examples.

Integrated Job Logging

Automatically maintains a detailed history of job executions with timestamps and results in a configurable MongoDB collection, useful for debugging and auditing, with options for TTL management.

Meteor Ecosystem Fit

Designed specifically for Meteor, it integrates seamlessly with Meteor's build system and conventions, reducing setup overhead and providing a native solution for scheduled tasks.

Cons

Meteor-Only Solution

Exclusively tied to the Meteor framework, making it unusable for any other JavaScript or Node.js environment, which severely limits its applicability and portability.

Hosting Environment Sensitive

As admitted in the Caveats section, it may fail on shared hosting providers that shut down idle app instances, such as Heroku's free dyno tier, leading to unreliable job execution.

MongoDB Dependency

Heavily relies on MongoDB for synchronization and logging, introducing a single point of failure and requiring manual index management for TTL, as noted in the configuration warnings.

Limited Advanced Features

Lacks built-in support for job retries, priority handling, or a graphical monitoring interface, which are common in more robust job scheduling systems like Agenda or Bull.

Frequently Asked Questions

Quick Stats

Stars494
Forks111
Contributors0
Open Issues27
Last commit2 years ago
CreatedSince 2014

Tags

#hacktoberfest#scheduled-jobs#mongodb#background-jobs#meteor#cron#task-scheduling

Built With

M
MongoDB
M
Meteor

Links & Resources

Website

Included in

Meteor1.4k
Auto-fetched 17 hours ago

Related Projects

msavin:sjobsmsavin:sjobs

A simple jobs queue that just works (for Meteor.js)

Stars210
Forks35
Last commit1 year ago
ostrio:cron-jobsostrio:cron-jobs

🏃‍♂️🤖 Task and jobs runner. With support of clusters or multiple meteor.js instances.

Stars15
Forks3
Last commit7 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub