A TypeScript HTTP client wrapper for CronyxServer, seamlessly integrating the power of Cronyx across platforms using a familiar API interface.
![icon](https://private-user-images.githubusercontent.com/2261067/280556183-1dfc905b-9728-48d6-8b9f-8b47fd0fa749.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzNzkwMzQsIm5iZiI6MTcyMTM3ODczNCwicGF0aCI6Ii8yMjYxMDY3LzI4MDU1NjE4My0xZGZjOTA1Yi05NzI4LTQ4ZDYtOGI5Zi04YjQ3ZmQwZmE3NDkucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MTlUMDg0NTM0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MDZlZjA1ZDA1ZTdkZGE0ZTcyYjk5YjQ1Mzc2Yzk3YTMyYWIwYzNhYTk1YzA3ZjgzYWYxZDA5MTY4OWQ1MGI5NSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.wH98dkC1xF3JtT3uDpDEwZFfrlq4qViBPnhsk4RMyNM)
CronyxClient.js bridges the capabilities of Cronyx and CronyxServer, offering a way to schedule and manage tasks without losing the feel of the original Cronyx API.
🌐 Unified Experience: Retain the simplicity and power of the Cronyx API while benefiting from the language-agnostic capabilities of CronyxServer.
🔌 Plug & Play: With just a URL configuration, connect to any running instance of CronyxServer and harness its capabilities without changing your existing Cronyx codebase.
🚀 Familiar API: Use the same API as Cronyx, and let CronyxClient.js handle the translation to CronyxServer's RESTful API.
To harness the capabilities of CronyxClient.js, follow these simple steps:
Install the CronyxClient.js package using npm:
$ npm install cronyx-client
# or
# $ bun add cronyx-client
Using CronyxClient.js mirrors the use of Cronyx, with the additional specification of the CronyxServer URL:
import CronyxClient from "cronyx-client";
const cronyx = new CronyxClient({ url: "http://localhost:3000/" });
const job = await cronyx.requestJobStart({
jobName: "hourly-job",
jobInterval: "0 * * * *",
});
// The rest of your code remains the same
CronyxClient.js is built on top of the Cronyx foundation, ensuring compatibility and integration with:
- Cronyx: Maintain the same API functions and structures, ensuring a seamless transition to CronyxClient.js.
- CronyxServer: Directly communicates with the server using its RESTful endpoints, translating your Cronyx API calls to HTTP requests.
Using Visual Studio Code and the Dev Containers extension, you can simplify the development environment setup process. The extension allows you to develop inside a Docker container and automatically sets up the development environment for you.
-
Install the Dev Containers extension in Visual Studio Code.
-
Clone the repository:
git clone https://github.com/yujiosaka/CronyxClient.js.git
-
Open the cloned repository in Visual Studio Code.
-
When prompted by Visual Studio Code, click "Reopen in Container" to open the project inside the Docker container.
-
The extension will build the Docker container and set up the development environment for you. This may take a few minutes.
-
Build and run the Docker container with Docker Compose:
$ docker-compose up --build
This will start testing in watch mode.
See here for the API reference.
Job status changes are logged via the debug module under the cronyx:client
namespace.
env DEBUG="cronyx:client" node script.js
# or
# env DEBUG="cronyx:client" bun script.js
This project is licensed under the MIT License. See LICENSE for details.