Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Resque Webui Bundle Laravel Package

andaris/resque-webui-bundle

View on GitHub
Deep Wiki
Context7

PHP-Resque Web UI

PHP-Resque UI Logo

This Symfony bundle provides a web interface for mjphaynes/php-resque.

Core features of the web interface are:

  • Overview of running workers (similar to bin/resque workers)
  • Overview of all queues (similar to bin/resque queues), with the share of jobs that failed
  • Overview of all jobs, filtered by status and by queue
  • View job details, JSON formatting and easy copy/paste of payload
  • Queue a job again from its details page, on the same queue and with the same payload
  • Easy installation as Symfony bundle, integration (routing, security, ...)
  • Easy style customization/branding via Bootstrap3 themes and Symfony bundle overrides

Requirements

The PHP-Resque Web UI is designed to run as part of an existing Symfony application. To use it without an existing app, you can install the Symfony framework and then install the bundle.

Installation

Install the bundle using composer:

composer require andaris/resque-webui-bundle

Register the bundle in your application kernel:

<?php
// app/AppKernel.php or src/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            // ...

            new Andaris\ResqueWebUiBundle\AndarisResqueWebUiBundle(),
        ];

        // ...
    }

    // ...
}

Configure the routing security for the bundle:

# app/config/security.yml or config/security.yml
    access_control:
        - { path: ^/resque, roles: YOUR_ADMIN_ROLE } # e.g. ROLE_ADMIN

Everyone holding that role can also queue a job again from its details page, which puts real work back on the queue. To let a wider group look without letting it run anything, put a rule for the retry in front of the general one; access_control matches in order, so the more specific rule has to come first:

# app/config/security.yml or config/security.yml
    access_control:
        - { path: ^/resque/job/[^/]+/retry$, methods: [POST], roles: YOUR_ADMIN_ROLE } # e.g. ROLE_ADMIN
        - { path: ^/resque, roles: YOUR_VIEWER_ROLE }                                  # e.g. ROLE_USER

The bundle sends no framing headers of its own. As the dashboard acts on what it shows, serving it with X-Frame-Options: DENY is recommended, so that a page elsewhere cannot put it in a frame and have someone click in it unknowingly.

Enable the routing of the bundle:

# app/config/routing.yml or config/routing.yml
resque:
    resource: "@AndarisResqueWebUiBundle/Resources/config/routing.yml"
    prefix:   /resque/

Usage

The Web UI can now be accessed via http://your-application/resque/.

Queueing a job again is confirmed in the browser and posted with a CSRF token. Where the application has CSRF protection enabled, its own token manager is used; otherwise the bundle falls back to one of its own, which keeps the token in the PHP session.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels