PHP code example of cronbeats / cronbeats-php

1. Go to this page and download the library: Download cronbeats/cronbeats-php library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

cronbeats / cronbeats-php example snippets




ronBeats\PingSdk\PingClient;

$client = new PingClient('abc123de', [
    'baseUrl' => 'https://cronbeats.io',
    'timeoutMs' => 5000,
    'maxRetries' => 2,
]);

// Simple heartbeat
$client->ping();

// Start/end signals
$client->start();
// ... do work ...
$client->success();



$client = new PingClient('abc123de');
$client->start();

try {
    // your actual cron work
    processEmails();
    $client->success();
} catch (Exception $e) {
    $client->fail();
}



// Percentage mode: 0-100 with message
$client->progress(50, 'Processing batch 500/1000');

// Or using options array
$client->progress([
    'seq' => 75,
    'message' => 'Almost done - 750/1000',
]);



// Message-only mode: null seq, just status updates
$client->progress(null, 'Connecting to database...');
$client->progress(null, 'Starting data sync...');



$client = new PingClient('abc123de');
$client->start();

try {
    // Message-only updates for non-measurable steps
    $client->progress(null, 'Connecting to database...');
    $db = connectToDatabase();
    
    $client->progress(null, 'Fetching records...');
    $total = $db->count();
    
    // Percentage updates for measurable progress
    for ($i = 0; $i < $total; $i++) {
        processRecord($i);
        
        if ($i % 100 === 0) {
            $percent = (int)($i * 100 / $total);
            $client->progress($percent, "Processed $i / $total records");
        }
    }
    
    $client->progress(100, 'All records processed');
    $client->success();
    
} catch (Exception $e) {
    $client->fail();
    throw $e;
}



use CronBeats\PingSdk\Exception\ApiException;
use CronBeats\PingSdk\Exception\ValidationException;

try {
    $client->ping();
} catch (ValidationException $e) {
    // Invalid local inputs like malformed job key
} catch (ApiException $e) {
    // API/network issue with normalized metadata
    $code = $e->getErrorCode();   // e.g. RATE_LIMITED
    $status = $e->getHttpStatus(); // e.g. 429
}
bash
composer