moudy / agenda-ui

A UI to view Agenda jobs
267 stars 24 forks source link

Cannot read property 'count' of undefined #18

Open FLYBYME opened 9 years ago

FLYBYME commented 9 years ago
TypeError: Cannot read property 'count' of undefined
    at Store.count (/home/bob/files/node_modules/agenda-ui/lib/store.js:41:37)
    at Store.definitions (/home/bob/files/node_modules/agenda-ui/lib/store.js:69:26)
    at /home/bob/files/node_modules/agenda-ui/lib/api.js:13:11
    at Layer.handle [as handle_request] (/home/bob/files/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/bob/files/node_modules/express/lib/router/route.js:131:13)
    at Route.dispatch (/home/bob/files/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/home/bob/files/node_modules/express/lib/router/layer.js:95:5)
    at /home/bob/files/node_modules/express/lib/router/index.js:277:22
    at Function.process_params (/home/bob/files/node_modules/express/lib/router/index.js:330:12)
    at next (/home/bob/files/node_modules/express/lib/router/index.js:271:10)
    at Function.handle (/home/bob/files/node_modules/express/lib/router/index.js:176:3)
    at router (/home/bob/files/node_modules/express/lib/router/index.js:46:12)
    at Layer.handle [as handle_request] (/home/bob/files/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/home/bob/files/node_modules/express/lib/router/index.js:312:13)
    at /home/bob/files/node_modules/express/lib/router/index.js:280:7
    at Function.process_params (/home/bob/files/node_modules/express/lib/router/index.js:330:12)

``
wesley-harding commented 9 years ago

My guess is this is related to a (poor) choice to change the DB driver in agenda. Seems like it might be a bit painful to fix.

https://github.com/rschmukler/agenda/issues/213

FLYBYME commented 9 years ago

Do you have advice on what version of agenda should be used?

wesley-harding commented 9 years ago

You should be good with 0.6.8. You'll also need to use an older version of Mongo or mongoose (I can't remember which one off the top of my head) On Nov 10, 2015 11:40 AM, "Tim" notifications@github.com wrote:

Do you have advice on what version of agenda should be used?

— Reply to this email directly or view it on GitHub https://github.com/moudy/agenda-ui/issues/18#issuecomment-155481258.

b0bu commented 9 years ago

Also having this issue

jdnichollsc commented 9 years ago

+1

jdnichollsc commented 9 years ago

See more info please:

http://screencast.com/t/TgcnNQvu8D http://screencast.com/t/LhV6JnZnm http://screencast.com/t/33zQSdxgD2

harelba commented 9 years ago

I have the same issue, and downgrading agenda to the older version doesn't work as well.

pavan612 commented 8 years ago

agenda._db = agenda._collection; //add this line before passing agenda to agenda-ui app.use('/agenda/admin/jobs', agendaUI(agenda, {poll: 30000}));

harelba commented 8 years ago

@pavan612 thanks for trying to help. Tried it, but I'm still getting the error -

TypeError: Cannot read property 'count' of undefined
    at Store.count (/Users/harel/dev/trickly/src/trickly/node_modules/agenda-ui/lib/store.js:41:37)
    at Store.definitions (/Users/harel/dev/trickly/src/trickly/node_modules/agenda-ui/lib/store.js:69:26)

Agenda version 0.73 Agenda-ui version 0.0.7

pavan612 commented 8 years ago

@harelba this is my working code changes.txt

jeonghwan-kim commented 8 years ago
var express = require('express');
var http = require('http');
var Agenda = require('agenda');
var agendaUI = require('agenda-ui');

var app = express();
var agenda = new Agenda({
  db: {
    address: 'localhost:27017/agenda-sample'
  }
}, function (err) {
  if (err) throw err;

  console.log('Connected to database');

  // Should add this code before setting middleware.
  agenda._db = agenda._collection;

  app.use('/agenda-ui', agendaUI(agenda, {poll: 1000}));

  http.createServer(app).listen(9000, function () {
    console.log('Express listeing on 9000 port');
  });

});

Check #17

brebaje commented 8 years ago

Thanks @pavan612 that hack worked :)

geototti21 commented 8 years ago

I get the same error with @FLYBYME , I tried the solution suggested from @pavan612 but it didnt work. I'm using the latest versions from both agenda and agenda-ui. Any help? Does anyone make it work with the latest versions? Thanks

pavan612 commented 8 years ago

Hi can you post sample code of your problem

geototti21 commented 8 years ago

@pavan612 my code:

var agenda = new Agenda({db: {address: configDB.url, collection: "agendaJobs"}});

agenda.name(os.hostname() + '-' + process.pid); 

agenda.on('ready', function() {
  agenda.every('30 seconds', 'Say the time', {time: new Date()});
  agenda._db = agenda._collection;
  agenda.start();
});

//some session stuff there

app.use('/agenda-ui', agendaUI(agenda, {poll: 1000}));

//...

When I go to the the node terminal I have the same error with @FLYBYME and on the browser console the following:

error

flashsnake-so commented 8 years ago

Thanks @pavan612 that hack worked 2 :)

xfoxfu commented 8 years ago

same as @geototti21 . I doubt that the problem may relate to that the Agenda-UI is initializied before agenda connected to the database. I would like to know if it is possible to let Agenda-UI connect to the database on its own.

LeandroFavero commented 8 years ago

For me the hacks doesn't works :-(

weareu commented 8 years ago

So to get the hack to work and only init ui after agenda has connected to mongo I did this:

var agenda = new Agenda({db: { address: config.agendaDb } }, function() {
    // Should add this code before setting middleware.
    agenda._db = agenda._collection;
    app.use('/agenda-ui/', agendaUI(agenda, {poll: 1000}));
});
vsmori commented 7 years ago

Tried all solutions, none worked :-1:

lusa commented 7 years ago

I got Agendash working very quickly with no issues so far. https://github.com/joeframbach/agendash