updevru/dkron-php-client

v1.0 2022-07-20 09:15 UTC

This package is auto-updated.

Last update: 2024-09-20 14:00:35 UTC


README

Build Status Latest stable PHP from Packagist

这是 PHP 的 Dkron API 客户端。这个库允许使用实际 API 版本。您可以在 文档 中找到更多信息。

目录

要求

  • PHP 7.4 及以上
  • PHP 的 cURL 支持
  • PHP 的 JSON 支持
  • 任何与 PSR-18 兼容的 HTTP 客户端(由安装说明涵盖)。
  • 任何与 PSR-17 兼容的 HTTP 工厂实现(由安装说明涵盖)。
  • 任何与 PSR-7 兼容的 HTTP 消息实现(由安装说明涵盖)。

安装

通过执行以下命令从 Packagist 安装库

composer require updevru/dkron-php-client

注意:API 客户端使用 php-http/curl-client 和 nyholm/psr7 作为 PSR-18、PSR-17 和 PSR-7 实现。您可以在安装期间替换这些实现,例如通过安装此库并选择您喜欢的实现,如下所示

composer require php-http/curl-client nyholm/psr7 updevru/dkron-php-client

用法

首先,您应该初始化客户端。

use Http\Client\Curl\Client;
use Nyholm\Psr7\Factory\Psr17Factory;
use Updevru\Dkron\ApiClient;
use Updevru\Dkron\Endpoint\EndpointCollection;

$client = new Updevru\Dkron\ApiClient(
    new Updevru\Dkron\Endpoint\EndpointCollection(
        [
            [
                'url' => 'https://',
                'login' => null,
                'password' => null,
            ]
        ]
    ),
    new Http\Client\Curl\Client(),
    new Nyholm\Psr7\Factory\Psr17Factory(),
    new Nyholm\Psr7\Factory\Psr17Factory()
);

$api = new \Updevru\Dkron\Api($client, new \Updevru\Dkron\Serializer\JMSSerializer());

如果启用了 HTTP 基本认证,请输入用户名和密码。

创建新作业

$newJob = new \Updevru\Dkron\Dto\JobDto();
$newJob->setName('test_job');
$newJob->setSchedule('*/2 * * * * *');
$newJob->setConcurrency(\Updevru\Dkron\Dto\JobDto::CONCURRENCY_FORBID);
$newJob->setExecutor('shell');
$newJob->setExecutorConfig(['command' => 'echo Hello']);

$api->jobs->createOrUpdateJob($newJob);

手动运行作业

$api->jobs->runJob('test_job');

显示执行列表

$jobs = $api->jobs->getJobs();

禁用作业

$api->jobs->toggleJob('test_job');

删除作业 test_job

$api->jobs->deleteJob('test_job');

测试

运行单元测试

composer tests

演示工作库

php bin/test.php https://:8080