Please see the new repository at https://github.com/tobytwigger/laravel-job-status
Show users the progress of their jobs.
You can find the full repository at https://github.com/tobytwigger/laravel-job-status.
Laravel Job Status provides a simple way to track your jobs and show the progress to your users.
- Show your users the ongoing progress of your job without refreshing the page.
- Let users cancel running jobs
- Customisable Vue component for displaying your own jobs
We've taken care over documenting everything you'll need to get started and use Laravel Job Status fully.
Check out the docs on our documentation site.
The following is enough to show a user the status of the 'process podcast' job for the podcast with the ID podcastId
.
<job-status job="process-podcast" :tags="{podcast: podcastId}">
<template v-slot:default="{status, lastMessage, complete, cancel, signal}">
<spinner v-if="complete === false"></spinner>
<p>The status of the job is {{status}}</p>
<p>{{lastMessage}}</p>
<v-button @click="cancel" type="danger">Cancel</v-button>
</template>
<template v-slot:empty>
Upload a podcast to get started
</template>
</job-status>
Tracking is simple to enable on any job.
class ProcessPodcast
{
use Trackable;
protected Podcast $podcast;
public function handle()
{
// Upload and process the podcast
}
public function tags(): array
{
return [
'podcast' => $this->podcast->id,
'user' => $this->user->id
];
}
public function alias(): string
{
return 'process-podcast';
}
}
All you need to do to use this project is pull it into an existing Laravel app using composer.
composer require twigger/laravel-job-status
You can publish the configuration file by running
php artisan vendor:publish --provider="JobStatus\JobStatusServiceProvider"
Contributions are welcome! Before contributing to this project, familiarize yourself with CONTRIBUTING.md.
This package is copyright © Toby Twigger and licensed for use under the terms of the MIT License (MIT). Please see LICENCE.md for more information.
For any questions, suggestions, security vulnerabilities or help, email me directly at tobytwigger1@gmail.com