Skip to main content

CronBeats Python SDK (Ping)

PyPI version Downloads Python versions

Official Python SDK for CronBeats ping telemetry.

Install

pip install cronbeats-python

Quick Usage

from cronbeats_python import PingClient

client = PingClient("abc123de")
client.start()
# ...your work...
client.success()

Real-World Cron Job Example

from cronbeats_python import PingClient

client = PingClient("abc123de")
client.start()

try:
    # your actual cron work
    process_emails()
    client.success()
except Exception:
    client.fail()

Progress Tracking

Track your job's progress in real-time. CronBeats supports two distinct modes:

Mode 1: With Percentage (0-100)

Shows a progress bar and your status message on the dashboard.

✓ Use when: You can calculate meaningful progress (e.g., processed 750 of 1000 records)

# Percentage mode: 0-100 with message
client.progress(50, "Processing batch 500/1000")

# Or using dict
client.progress({
    "seq": 75,
    "message": "Almost done - 750/1000",
})

Mode 2: Message Only

Shows only your status message (no percentage bar) on the dashboard.

✓ Use when: Progress isn't measurable or you only want to send status updates

# Message-only mode: None seq, just status updates
client.progress(None, "Connecting to database...")
client.progress(None, "Starting data sync...")

What you see on the dashboard

  • Mode 1: Progress bar (0-100%) + your message → "75% - Processing batch 750/1000"
  • Mode 2: Only your status message → "Connecting to database..."

Complete Example

from cronbeats_python import PingClient

client = PingClient("abc123de")
client.start()

try:
    # Message-only updates for non-measurable steps
    client.progress(None, "Connecting to database...")
    db = connect_to_database()
    
    client.progress(None, "Fetching records...")
    total = db.count()
    
    # Percentage updates for measurable progress
    for i in range(total):
        process_record(i)
        
        if i % 100 == 0:
            percent = int((i * 100) / total)
            client.progress(percent, f"Processed {i} / {total} records")
    
    client.progress(100, "All records processed")
    client.success()
    
except Exception:
    client.fail()
    raise

Notes

  • SDK uses POST for telemetry requests.
  • job_key must be exactly 8 Base62 characters.
  • Retries happen only for network errors, HTTP 429, and HTTP 5xx.
  • Default 5s timeout ensures the SDK never blocks your cron job if CronBeats is unreachable.

Metadata

Release files for cronbeats-python 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cronbeats-python 0.1.3
File Size Uploaded
cronbeats_python-0.1.3.tar.gz 8.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cronbeats-python 0.1.3
File Interpreter ABI Platform
cronbeats_python-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 15.6 kB

Release files / cronbeats_python-0.1.3.tar.gz

Download URL cronbeats_python-0.1.3.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7f64d500e59baf8f4e023a9b3de3d6084c9151745acf6aecf53290ea7cb1a45f
BLAKE2b-256 checksum
How to use checksums
fe72185074db1087d63754864e2f9b7fa4cc656e07fef3c3840d4caa68b669fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / cronbeats_python-0.1.3-py3-none-any.whl

Download URL cronbeats_python-0.1.3-py3-none-any.whl
Size 7.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e74235514fdcadcfb29484149986a3aa8001ecf707adc7af03ffda25ca127fea
BLAKE2b-256 checksum
How to use checksums
b902804cd444dd0d8b6edd80780ace6cd5a43e51e31482374de418ef0ee3e113
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page