Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cant get to the queue page with bull-arena #182

Closed
gete76 opened this issue Sep 6, 2019 · 14 comments
Closed

Cant get to the queue page with bull-arena #182

gete76 opened this issue Sep 6, 2019 · 14 comments

Comments

@gete76
Copy link

gete76 commented Sep 6, 2019

Hi there,
I've setup bull-arena according to the docs but when I click on the queue name for queue details on the homepage at /arena, the request just hangs and then fails. I see it's hanging on the Queue.getJobCounts call. Here's what the basic app setup looks like. Any help would be appreciated. Thanks!

   const Arena = require('bull-arena')
   const express = require('express')
   const app = express()
   const { config } = require('./config/config')

   const bodyParser = require('body-parser')
   const cors = require('cors')
   const routes = require('./src/routes')
   const arena = Arena({
   queues:[
       {
        "name": config.queue_name,
        "hostId": "ImageMigrate",
        "redis": {"port":6709, "host":"localhost"}
        }
    ]
    },{
         basePath: '/',
         disableListen: false
    })

   app.use(cors())
   app.use(bodyParser.urlencoded({ extended: false }))
   app.use(bodyParser.json())
   app.use('/arena', arena)

  routes(app)
@darbio
Copy link

darbio commented Sep 23, 2019

Not sure if this is the problem, however you haven't specified the password property in arena.queues[0].redis.password.

I was having the same problem when this wasn't set - maybe try setting it to undefined? Alternatively, for localhost, you could try not setting redis at all it and it will default to redis://:@127.0.0.1 (I don't use localhost so haven't tested this).

@combizs
Copy link
Contributor

combizs commented Oct 8, 2019

@darbio, password may not necessarily need to be provided; default redis config has no password.

@combizs
Copy link
Contributor

combizs commented Oct 8, 2019

@gete76, check your local redis configuration to see if:

  1. it requires a password; default setup does not have password
  2. the redis port number is correct; default port is 6376
  3. redis instance is running locally;
    • go to your redis directory; redis-x.x.x
    • run src/redis-server in your terminal
    • * use provided port number for your local arena config

@darbio
Copy link

darbio commented Oct 8, 2019

@combizs yeah I thought so too, but I had a similar issue when I didn’t set the password property. From memory, setting it to undefined solved the issue for me.

@brianschardt
Copy link

So what was the solution for this?

@combizs
Copy link
Contributor

combizs commented Oct 16, 2019

@brianschardt, based on the latest version, it worked for me. Just check the following:
#182 (comment)

@ttacon
Copy link
Contributor

ttacon commented Oct 25, 2019

Closing as @combizs has supplied a solution with debugging steps. Please let me know if you'd like this to be re-opened!

@sudhagar10
Copy link

sudhagar10 commented Dec 23, 2019

I am facing this issue.

It works fine locally. But once I took things to staging, viewing Queue page always times out.

Below is the configuration code.


  queues: [
      {
        // Name of the bull queue, this name must match up exactly with what you've defined in bull.
        name: config.worker.queues.default.name,

        // Hostname or queue prefix, you can put whatever you want.
        hostId: 'Q',

        // Redis auth.
        redis: {
          url: config.redis.url,
        },
      },
    ],

@george-norris-salesforce

Same issue, I can get the index page working. When I click on a link, it never resolves.

const arenaConfig = Arena({
  queues: [{
    // Name of the bull queue, this name must match up exactly with what you've defined in bull.
    name: 'ImportWork',
    // Hostname or queue prefix, you can put whatever you want.
    hostId: 'Import Jobs',
    // Redis auth.
    redis: {
      port: '6379',
      host: process.env.REDIS_URL
    },
  },
  ],
},
{
  // Make the arena dashboard become available at {my-site.com}/arena.
  basePath: '/admin',

  // Let express handle the listening.
  disableListen: true
});

route.use('/', arenaConfig);

@rushilsrivastava
Copy link

This issue definitely still exists, facing the exact same problem as the people above

@yan-michael
Copy link

I am also having this problem.

@rrdlpl
Copy link

rrdlpl commented Jul 9, 2020

me too

@Rocamonde
Copy link

Rocamonde commented Jul 13, 2020

I happen to have this problem too. This is my configuration:

const arenaConfig = Arena(
  {
    queues: [
      {
        name: 'newsQueue',
        hostId: 'newsQueue',
        redis: {
          url: REDIS_ADDRESS,
        },
      },
    ],
  },
  {
    basePath: '/arena',
    disableListen: true,
  }
);

app.use('/', arenaConfig);

The /arena route loads, but when I click on any of the routes, the request is never resolved. I tried using url and path as the name of the Redis address parameter. My variable is correct as is the one I use to load Bull in another part of the App, and Bull is working perfectly.

Any thoughts on what I might be doing wrong, or is this a bug in the code? Makes the package pretty useless, if so.

@skeggse
Copy link
Member

skeggse commented Aug 6, 2020

This sounds like it's related to these: #123 #162 #164, given that all the configs we've seen are using a specific subpath. If anyone has an example that doesn't use a basePath, please feel free to re-open!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests