@dagger-team/js-dagger-client
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

Status Client Libarary

Library used to log dagger task status from within the runtime of the task itself.

Usable by both the job processor client library (also in this repo), and by any consumer of the API (status only dagger customers).

Different levels of integration are allowed, designed for varying levels of customization based on use-case.

Simple, automatic integration:

By just importing the dagger client, and calling init with your API key, dagger will attempt to automatically detect the environment and log task run status to dagger.

const Dagger = require('js-dagger-client');
Dagger.init('apikey');

// or:
Dagger.init('apikey', {integrationName: 'aws_lambda'});

// or:
Dagger.init('apikey', {integration: MyCustomIntegration()}})

Function wrapper:

A function wrapper is provided that will log any call to that function as a new task run. Task run id will be automatically generated, or you can provide a task run id generator via the getTaskRunId parameter.

const Dagger = require('js-dagger-client');
const daggerClient = new Dagger('apikey').statusClient;

const yourTaskFunction = () => {
    console.log('Doing something....')
};

daggerClient.wrap(
    yourTaskFunction, 
    { 
        taskName: 'some task name'
    },
    {
        // or...
        integration_name: 'aws_ecs'
        // or...
        integration: MyCustomIntegration()
    }
);

Fully custom:

Using the daggerClient you can create and update your own task run.

const Dagger, { TaskRunStatusTypes } = require('js-dagger-client');
const daggerClient = new Dagger('apikey');

const yourTaskFunction = () => {
    const task_run = daggerClient.createTaskRun('some task name', 'a unqiue task run id', TaskRunStatusTypes.running, { input: 'Some input' });

    try:
        console.log('Doing something');
        daggerClient.updateTaskRun(task_run, TaskRunStatusTypes.succeeded, { output: 'Some output' });
    catch(err):
        daggerClient.updateTaskRun(task_run, TaskRunStatusTypes.failed, { error: err });
};

yourTaskFunction();

Readme

Keywords

none

Package Sidebar

Install

npm i @dagger-team/js-dagger-client

Weekly Downloads

63

Version

0.2.0

License

MIT

Unpacked Size

191 kB

Total Files

82

Last publish

Collaborators

  • frenchie4111