Skip to content

rafaeltovar/laravel-job-trackable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trackables Laravel Jobs

Track Laravel Jobs, saving status, inputs, outputs and date times during a week in Redis.

Based on imTigger/laravel-job-status.

Jobs tracks is saved during a week in Redis. This time can be setted in config file.

Installation

Composer

composer require rafaeltovar/laravel-job-trackable

Features

  • Job status
  • Date time of queue, execute, update and finished
  • Number of retries
  • Redis persist / NoSQL database
  • Controller for manage Tracks
  • Simple and light
  • Cli commands

Instructions

Step 1. Include Service Provider into providers section in config/app.php.

'providers' => [
  //...
  LaravelJobTrackable\Providers\LaravelJobTrackableServiceProvider::class,
];

Step 2. Add trait to our Laravel Job and init track with track method. Step 3.* Use setOutput method for save final Job output.

<?php
namespace App\Jobs;

use LaravelJobTrackable\Jobs\TrackableJob;

class TrackedJob extends Job
{
    use TrackableJob;

    public function __construct($input1, $input2) {
        // track the job-execution
        $this->track(['input1' => $input1, 'input2' => $input2]); // inputs are optionals
    }

    public function handle()
    {
        // Do something...
        $this->setOutput(['output1' => $output1]); // optional
    }
}

Using Controller

If you need use the controller for get jobs can you use it.

$ctrl = app(\LaravelJobTrackable\TrackedJobController::class);

try {
    $track = $ctrl->get($idJobTrack);

    // Do something...
} catch (\Exception $e) { // not found
    // Do something...
}

Object TrackedJob

The object LaravelJobTrackable\TrackedJob have the following public methods: // TODO

Method Allowed values
getStatus() : string
setStatus(string) : self
setOutput(array)
getOutput(): array
getQueuedAt() ?\Carbon\Carbon

About

Track Laravel Jobs.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages