Dkron PHP Adapter

May 22, 2018 ยท View on GitHub

Build Status PHP Dkron version

Dkron PHP Adapter

Adapter to communicate with Dkron.

Please read Dkron API for usage details

Install:

  • add "gromo/dkron-php-adapter": "dev-master" to your project composer.json
  • run composer 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.