Home

Awesome

Build Status PHP Dkron version

Dkron PHP Adapter

Adapter to communicate with Dkron.

Please read Dkron API for usage details

Install:

Use:

// connect to single ip
$api = new \Dkron\Api('http://192.168.0.1:8080');

// get status
$status = $api->getStatus();

// get all jobs
$jobs = $api->getJobs();

// create & save job
$newJob = new \Dkron\Models\Job('my-job', '@every 5m');
$newJob->setExecutor('shell');
$newJob->setExecutorConfig([
    'command' => 'ls -la /'
]);
$api->saveJob($newJob);

// create job from parsed json
$newJobFromArray = \Dkron\Models\Job::createFromArray([
    'name' => 'job name',
    'schedule' => 'job schedule',
    'executor' => 'shell',
    'executor_config' => [
        'command' => 'ls -la /tmp',
    ],
    // other parameters
]);

// get job data as json string
$json = json_encode($newJobFromArray);

// get job by name
$existingJob = $api->getJob('my-job');

// run job by name
$api->runJob($existingJob->getName());

// get job executions
$executions = $api->getJobExecutions($existingJob->getName());

// delete job by name
$api->deleteJob($existingJob->getName());

// get current leader node
$leader = $api->getLeader();

// get all nodes
$members = $api->getMembers();

// force current node to leave cluster
$api->leave();


// connect to multiple servers with round-robin requests
$mApi = new \Dkron\Api(['http://192.168.0.1:8080', 'http://192.168.0.2:8080']);

// force selected node to leave cluster
$mApi->leave('http://192.168.0.1:8080');

API methods

All URIs are relative to http://localhost:8080/v1

MethodDescriptionHTTP request
getStatusGet statusGET /
getJobsGet all jobsGET /jobs
saveJobSave jobPOST /jobs
getJobGet job info by nameGET /jobs/{job_name}
runJobRun job by namePOST /jobs/{job_name}
deleteJobDelete job by nameDELETE /jobs/{job_name}
getJobExecutionsGet job executions by job nameGET /jobs/{job_name}/executions
getLeaderGet leaderGET /leader
leaveForce the node to leave the clusterGET /leave
getMembersGet membersGET /members

Contribute

Please refer to CONTRIBUTING.md for information.