Cross-platform beanstalkd queue server admin console.

aurora

Build Status CII Best Practices Go Report Card Downloads Licenses Release

Overview

aurora is a web-based Beanstalkd queue server console written in Go and works on macOS, Linux, and Windows machines. The main idea behind using Go for backend development is to utilize the ability of the compiler to produce zero-dependency binaries for multiple platforms. aurora was created as an attempt to build a very simple and portable application to work with a local or remote Beanstalkd server.

See application screenshots

Features

  • Cross-platform support macOS/Linux/Windows 32/64-bit
  • Simple installation (distributed as a single binary)
  • Zero dependencies
  • Common list of servers in the config for all users + optional Basic Auth
  • The full list of available tubes
  • Complete statistics about jobs in tubes
  • Real-time auto-update with highlighting of changed values
  • You can view jobs in ready/delayed/buried states in every tube
  • You can add/kick/delete jobs in every tube
  • You can select multiple tubes by regExp and clear them
  • You can set the statistics overview graph for every tube
  • You can move jobs between tubes
  • Ability to Pause tubes
  • Search jobs data field
  • Customizable UI (code highlighter, choose columns, edit auto refresh seconds, pause tube seconds)

Installation

Installing aurora using Homebrew on macOS:

brew install aurora

Building aurora using Docker:

docker build -t aurora:latest .
docker run --rm --detach -p 3000:3000 aurora:latest

Precompiled binaries for supported operating systems are available.

Contributing

Contributions are welcome! Open a pull request to fix a bug, or open an issue to discuss a new feature or change.

Todo

  • Handle 404 error page
  • Filter the tubes by name in the overview
  • Logout support when Basic Auth has been enabled
  • Custom job content hightlight display theme support
  • Cookies control, each user can add its own personal Beanstalkd server

Credits

Contributors

This project exists thanks to all the people who contribute.

Contributors

Backers

Thank you to all our backers! 🙏 Become a backer

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

Licenses

This program is under the terms of the MIT License. See LICENSE for the full license text.

Comments
  • Update https://github.com/beanstalkd/go-beanstalk to fix indefinite client hang after connection reset

    Update https://github.com/beanstalkd/go-beanstalk to fix indefinite client hang after connection reset

    Description

    We appear to have run into the issue fixed by https://github.com/beanstalkd/go-beanstalk/pull/29. A job that had been created days earlier was never processed until a restart forced the connection to be re-established.

    Ideally this module would update the go-beanstalk module to include the above fix.

    Steps to reproduce the issue: Unclear how the connection gets in this state to trigger the underlying issue in the go-beanstalk module.

    Describe the results you received: Job stuck indefinitely until a restart forced the connection to be re-established

    Describe the results you expected: Job should be picked up via ready state

    Output of go version:

    go version go1.13 linux/amd64
    

    Aurora version or commit ID:

    commit ID: 8024f7a4d7f6

    Environment details (OS, physical, etc.):

    Ubuntu 16.04

  • Chore: Dockerfile

    Chore: Dockerfile

    Add a Dockerfile

    Description

    This PR adds a Dockerfile for building and running aurora.

    Motivation and Context

    I wanted to run aurora in Docker, since that's where I run beanstalkd itself.

    How Has This Been Tested

    I'm using this right now!

    Types of changes

    • [x] Docs change / refactoring / dependency upgrade
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
  • Add go module support

    Add go module support

    PR Details

    Description

    Related Issue

    Motivation and Context

    How Has This Been Tested

    Types of changes

    • [ ] Docs change / refactoring / dependency upgrade
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [ ] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
  • copyright and readme updated

    copyright and readme updated

    PR Details

    Description

    Related Issue

    Motivation and Context

    How Has This Been Tested

    Types of changes

    • [x] Docs change / refactoring / dependency upgrade
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [x] My code follows the code style of this project.
    • [x] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
  • Fixes #14, support to set number of kick burried jobs

    Fixes #14, support to set number of kick burried jobs

    PR Details

    Description

    Related Issue

    Motivation and Context

    How Has This Been Tested

    Types of changes

    • [ ] Docs change / refactoring / dependency upgrade
    • [x] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [x] My code follows the code style of this project.
    • [x] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] I have read the CONTRIBUTING document.
    • [x] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
  • Fixes #19 search by calculating maximum job ID

    Fixes #19 search by calculating maximum job ID

    PR Details

    Description

    Related Issue

    Motivation and Context

    How Has This Been Tested

    Types of changes

    • [ ] Docs change / refactoring / dependency upgrade
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [ ] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
  • Add license scan report and status

    Add license scan report and status

    Your FOSSA integration was successful! Attached in this PR is a badge and license report to track scan status in your README.

    Below are docs for integrating FOSSA license checks into your CI:

  • No documentation on how to configure with a toml file

    No documentation on how to configure with a toml file

    I can see the example toma file in the repo. I don't see any examples of how to set the values which leads to trial and error guess work. Please include a detailed writeup on how to configure the toml exactly as the innards would expect them to be.

  • Running Aurora on boot

    Running Aurora on boot

    Hi,

    Using an Ubuntu Server to run beanstalkd and aurora - do you have any example scripts/details about writing an init.d script for aurora?

    Thanks for the awesome tool!

  • Could I use this directly on a server?

    Could I use this directly on a server?

    I want to run it on a server, and access it from my own computer. But it seems this acquires the browser to run. Since I do not have a Xwindow on the server, is it possible to run it on server?

  • Broken Commit - HTML Rendering

    Broken Commit - HTML Rendering

    Description

    The commit a935e08f81115dec77ef516a7b85ca72b0a43675 breaks HTML rendering.

    Steps to reproduce the issue:

    1. go build/go get
    2. ./aurora
    3. Open the app, click on a tube

    Describe the results you received:

    I receive escaped HTML output, (&nbsp, < etc)

    Describe the results you expected:

    A pretty rendered page ;)

    Output of go version:

    go version go1.13.8 linux/amd64
    

    Aurora version or commit ID:

    a935e08f81115dec77ef516a7b85ca72b0a43675
    

    Environment details (OS, physical, etc.):

    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=20.04
    DISTRIB_CODENAME=focal
    DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
    

    Remarks / Fix:

    I revered back to the commit before that one, and then it works.

  • Feature request: permissions

    Feature request: permissions

    Is your feature request related to a problem? Please describe.

    Would be nice to have a permissions model.

    Describe the solution you'd like

    If there was the concept of read-only users and admin users you could allow some users to view stats but not do anything destructive like delete jobs.

    Describe alternatives you've considered

    None.

    Additional context

    It would be even better if the permissions could be tied to SSO groups (as mentioned in #9). Then you could manage the users/groups externally to Aurora and have a mapping from SSO group to permission.

  • Improve search functionality

    Improve search functionality

    PR Details

    Improve tube search functionality.

    Description

    Add capability to peek at a specific job by ID and filter search results by specific state (ready, delayed, buried).

    Related Issue

    Motivation and Context

    How Has This Been Tested

    Types of changes

    • [ ] Docs change / refactoring / dependency upgrade
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] I have read the CONTRIBUTING document.
    • [x] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
  • sort column, disable tube view for security

    sort column, disable tube view for security

    PR Details

    Description

    Related Issue

    Motivation and Context

    How Has This Been Tested

    Types of changes

    • [ ] Docs change / refactoring / dependency upgrade
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [ ] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
  • Reorder messages

    Reorder messages

    Is your feature request related to a problem? Please describe. Is there a way to reorder messages? I'd love to be able to move some stuff that's lower in the queue up higher.

    Describe the solution you'd like In the search page, under actions, if we could add a "send to front" or a "send to back" or something similar.

    Describe alternatives you've considered No alternative that I can think of other than wait out the queue.

    Additional context I'm using beanstalkd to keep track of jobs that take a while to run (10+min each to run). Sometimes I want jobs that are lower to finish first but as far as I can tell there isn't any way to to this yet.

  • Custom name for the server

    Custom name for the server

    Feature request - would be possible to set up the custom name for the server instead of displaying hostname:port (in most cases it is only ip:port)?

    I would appreciate showing the server name in the list of tubes, and everywhere possible.

    I could prepare a PR with the change, if you do not have the time for this.

A highly optimized double-ended queue

Overview Deque is a highly optimized double-ended queue. Benchmark Benchmark_PushBack/Deque<harden> 100000000 10.3 ns/op 9 B/op

Dec 13, 2022
Fast ring-buffer deque (double-ended queue)

deque Fast ring-buffer deque (double-ended queue) implementation. For a pictorial description, see the Deque diagram Installation $ go get github.com/

Dec 26, 2022
Go concurrent-safe, goroutine-safe, thread-safe queue
Go concurrent-safe, goroutine-safe, thread-safe queue

goconcurrentqueue - Concurrent safe queues The package goconcurrentqueue offers a public interface Queue with methods for a queue. It comes with multi

Dec 31, 2022
go.fifo provides a simple fifo thread-safe queue for the Go programming language

go.fifo Description go.fifo provides a simple FIFO thread-safe queue. *fifo.Queue supports pushing an item at the end with Add(), and popping an item

Aug 29, 2022
Simple priority queue in Go

Priority Queue in Go ==================== This package provides a priority queue implementation and scaffold interfaces. Installation ------------ U

Apr 5, 2022
High-performance minimalist queue implemented using a stripped-down lock-free ringbuffer, written in Go (golang.org)

This project is no longer maintained - feel free to fork the project! gringo A high-performance minimalist queue implemented using a stripped-down loc

Oct 24, 2022
A Go queue manager on top of Redis

Queue A Go library for managing queues on top of Redis. It is based on a hiring exercise but later I found it useful for myself in a custom task proce

Aug 12, 2022
Fast golang queue using ring-buffer

Queue A fast Golang queue using a ring-buffer, based on the version suggested by Dariusz Górecki. Using this instead of other, simpler, queue implemen

Jan 3, 2023
Go implementation of the van Emde Boas tree data structure: Priority queue for positive whole numbers in O(log log u) time.

vEB Go implementation of the van Emde Boas tree data structure: Priority queue for positive whole numbers in O(log log u) time. Supports the following

Mar 7, 2022
A tree like tool help you to explore data structures in your redis server
 A tree like tool help you to explore data structures in your redis server

Redis-view is a tree like tool help you explore data structures in your redis server

Mar 17, 2022
Cross-platform beanstalkd queue server admin console.
Cross-platform beanstalkd queue server admin console.

Overview aurora is a web-based Beanstalkd queue server console written in Go and works on macOS, Linux, and Windows machines. The main idea behind usi

Dec 30, 2022
go-admin项目地址已经转移https://github.com/go-admin-team/go-admin
go-admin项目地址已经转移https://github.com/go-admin-team/go-admin

English | 简体中文 基于Gin + Vue + Element UI的前后端分离权限管理系统 系统初始化极度简单,只需要配置文件中,修改数据库连接,系统启动后会自动初始化数据库信息以及必须的基础数据 在线文档国际 在线文档国内 前端项目 视频教程 ✨ 特性 遵循 RESTful API 设

Dec 31, 2022
Console Text Colors - The non-invasive cross-platform terminal color library does not need to modify the Print method

ctc - Console Text Colors The non-invasive cross-platform terminal color library does not need to modify the Print method Virtual unix-like environmen

Nov 9, 2022
✨ #PTerm is a modern go module to beautify console output. Featuring charts, progressbars, tables, trees, and many more 🚀 It's completely configurable and 100% cross-platform compatible.
✨ #PTerm is a modern go module to beautify console output. Featuring charts, progressbars, tables, trees, and many more 🚀 It's completely configurable and 100% cross-platform compatible.

?? PTerm | Pretty Terminal Printer A golang module to print pretty text Show Demo Code PTerm.sh | Installation | Documentation | Quick Start | Example

Dec 27, 2022
A cross-platform tool to convert images into ascii art and print them on the console
A cross-platform tool to convert images into ascii art and print them on the console

A cross-platform tool to convert images into ascii art and print them on the console

Dec 30, 2022
Go Beanstalkd Client Library

#gobeanstalk Go Beanstalkd client library. INSTALL go get github.com/iwanbk/gobeanstalk USAGE Producer import ( "github.com/iwanbk/gobeanstalk" "lo

Jun 15, 2022
Simple and modern beanstalkd library for Golang

go-jackd package main import "github.com/getjackd/go-jackd" func main() {

Sep 27, 2022
Kafka, Beanstalkd, Pulsar Pub/Sub framework

go-queue Kafka, Beanstalkd, Pulsar Pub/Sub framework.

Sep 17, 2022
Distributed web crawler admin platform for spiders management regardless of languages and frameworks. 分布式爬虫管理平台,支持任何语言和框架
Distributed web crawler admin platform for spiders management regardless of languages and frameworks. 分布式爬虫管理平台,支持任何语言和框架

Crawlab 中文 | English Installation | Run | Screenshot | Architecture | Integration | Compare | Community & Sponsorship | CHANGELOG | Disclaimer Golang-

Jan 7, 2023
Unlimited job queue for go, using a pool of concurrent workers processing the job queue entries

kyoo: A Go library providing an unlimited job queue and concurrent worker pools About kyoo is the phonetic transcription of the word queue. It provide

Dec 21, 2022