Each queue on admin/config/system/queues should get a "List jobs" operation.
That shows a listing powered by Views, Filters for job type, state.

We need views integration for the advancedqueue table, views field plugins for the job type, state, payload.
Also a custom access check that only enables the listing for queues that use the database backend.

Note: I evaluated the idea of adding a listJobs($type, $start, $limit) method to SupportsListingJobsInterface, but decided against storage-agnostic listings for now, since that would limit the available features (such as filtering).

Comments

bojanz created an issue. See original summary.

dawehner’s picture

  • Provide a basic views integration
  • Expose all jobs under /admin/config/system/queues/jobs/{queue_id}
  • Render the job status, type in a human friendly way
  • Make it possible to extract data from the payload by specifying a key
  • Enable validation for the DB backend
  • Provide helpful filters for job type, state and type
dawehner’s picture

Issue summary: View changes
StatusFileSize
new101.43 KB
new192.59 KB
dawehner’s picture

StatusFileSize
new106.83 KB

I forgot to specify --binary

dawehner’s picture

Status: Active » Needs review

The last submitted patch, 3: 2918869-3.patch, failed testing. View results

dawehner’s picture

StatusFileSize
new104.4 KB
new5.05 KB
new217.43 KB

Feedback from @bojanz:

  • Enabling rendering of the payload
  • Expose the job type as exposed filter
dawehner’s picture

Issue summary: View changes
StatusFileSize
new109.8 KB

I love --binary

The last submitted patch, 7: 2918869-6.patch, failed testing. View results

dawehner’s picture

dawehner’s picture

Issue summary: View changes
StatusFileSize
new112.56 KB
new15.58 KB
new222.14 KB
  • Bikeshedded the order of columns, see new screenshot
  • Add operations support (releasing and deleting a job)
  • Remove the generator code from the patch

  • bojanz committed 43bde82 on 8.x-1.x authored by dawehner
    Issue #2918869 by dawehner: Implement a views-powered UI
    
bojanz’s picture

Status: Needs review » Needs work

Made the following fixes:
- Renamed "json" to "advancedqueue_json", we should not be adding non-namespaced plugins.
- Moved the option callbacks to the views field plugins.
- Removed QueueListBuilder::getOperations(), which was an empty override.

Pushed a commit.

However, turns out that the operations column is broken cause dawehner didn't include the relevant plugin (plus the routes for Delete/Release). Setting to "needs work" for that. Let's roll a new patch against fresh HEAD.

dawehner’s picture

StatusFileSize
new7.05 KB

However, turns out that the operations column is broken cause dawehner didn't include the relevant plugin (plus the routes for Delete/Release). Setting to "needs work" for that. Let's roll a new patch against fresh HEAD.

That's a classic, one of the few issues where git would actually not help either.

dawehner’s picture

Status: Needs work » Needs review

Sorry this just needs review.

bojanz’s picture

Status: Needs review » Fixed

Committed, yay.

  • bojanz committed 39c69db on 8.x-1.x
    Issue #2918869 followup: Add forgotten operations.
    

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.