For full details please refer to attached kue-jobs.zip
Implement 3 AngularJS directives to show/filter/pause/resume/stop/delete KUE jobs
The delivery of this project will be 3 AngularJS1.x directives to display and manage the JOBs available on the KUE node.js priority job queue
https://github.com/Automattic/kue
Please see something similar - https://raw.githubusercontent.com/joeframbach/agendash/master/job-details.png
However you need to implement the directives as per the requirements from this project.
- The 3 directives should be implemented as reusable angularjs components
- The names for the directives should be view-job-details, list-jobs and start-stop-jobs and the code should be under /client/components/kue/view-job-details /client/components/kue/list-jobs and /client/components/kue/start-stop-jobs
- The jobs table should be powered by https://datatables.net
- You should use the https://github.com/Automattic/kue#json-api REST API to get list of jobs and manipulate jobs (show/start/stop/pause/delete)
The list-jobs directive should render a datatables.net powered table with the list of jobs available in KUE
There should be capabilities to /show/pause/resume/stop/delete jobs, filter jobs, search jobs, etc.
The list-jobs directive should offer following arguments
(a) jobType - if provided the rendered table will list only the jobs of type jobType otherwise render all jobs no matter of their type
(b) maxFetchDate - if provided fetch only the jobs newer >= then maxFetchDate otherwise don't filter on date - default value is 3 months ago
(c) maxFetchSize - if provided fetch maximum maxFetchSize rows otherwise all jobs that match maxFetchDate condition - default value is 200
(d) autoRefreshInterval - auto-refresh the jobs table user interface with jobs every autoRefreshInterval ms - default value is 60 000 ms (1 minute)
The view-job-details directive should offer following arguments
(a) jobId - the ID of the job to view details of
(b) autoRefreshInterval - auto-refresh the job details autoRefreshInterval ms - default value is 60 000 ms (1 minute)
(c) showRequeueButton - if TRUE then show the Requeue button otherwise don't show default value is TRUE
view-job-details should also offer capabilities to /delete/requeue the job
The start-stop-jobs directive should offer functionality/buttons to pause/resume/stop all jobs in the queue.
For all details on how the user interface should look and what capabilities should be implemented see the attached PNG files.
To understand how job filtering should work see
04 - filtering-when-list-jobs-jobtype-argument-is-provided.png
05 - filtering-when-list-jobs-jobtype-argument-is-not-provided-null.png
Login in your Gmail account and notice how filtering for emails is implemented. Job filtering should work similarly.
kue-jobs.zip