{"action":"opened","issue":{"url":"https://api.github.com/repos/senecajs/seneca-amqp-transport/issues/64","repository_url":"https://api.github.com/repos/senecajs/seneca-amqp-transport","labels_url":"https://api.github.com/repos/senecajs/seneca-amqp-transport/issues/64/labels{/name}","comments_url":"https://api.github.com/repos/senecajs/seneca-amqp-transport/issues/64/comments","events_url":"https://api.github.com/repos/senecajs/seneca-amqp-transport/issues/64/events","html_url":"https://github.com/senecajs/seneca-amqp-transport/issues/64","id":184095276,"number":64,"title":"seneca-amqp-transport is fragile for production that causes to denial-of-service ","user":{"login":"thakerng","id":2190704,"avatar_url":"https://avatars.githubusercontent.com/u/2190704?v=3","gravatar_id":"","url":"https://api.github.com/users/thakerng","html_url":"https://github.com/thakerng","followers_url":"https://api.github.com/users/thakerng/followers","following_url":"https://api.github.com/users/thakerng/following{/other_user}","gists_url":"https://api.github.com/users/thakerng/gists{/gist_id}","starred_url":"https://api.github.com/users/thakerng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thakerng/subscriptions","organizations_url":"https://api.github.com/users/thakerng/orgs","repos_url":"https://api.github.com/users/thakerng/repos","events_url":"https://api.github.com/users/thakerng/events{/privacy}","received_events_url":"https://api.github.com/users/thakerng/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-10-19T22:58:03Z","updated_at":"2016-10-19T22:58:03Z","closed_at":null,"body":"there are 2 services set up on different site, both connect to the same rabbitmq server I make the situation roughly here\r\n\r\n```javascript\r\n// service.js\r\nseneca.add({role:'foo',cmd:'bar'},function(args,done){\r\n   done(null,{message:\"bar\"});\r\n});\r\n\r\nseneca.add({role:'foo',cmd:'baz'},function(args,done){\r\n     // done will not be call accidentally in this service\r\n     ....\r\n});\r\n\r\n....\r\n```\r\n\r\n```javascript\r\n// client.js\r\n\r\nvar app = express();\r\n\r\napp.get('/api/bar',function(req,res){\r\n   seneca.act({role:'foo',cmd:'bar'},function(err,resp){\r\n     res.send(resp);\r\n   })\r\n});\r\n\r\napp.get('/api/baz',function(req,res){\r\n   seneca.act({role:'foo',cmd:'baz'},function(err,resp){\r\n     res.send(resp);\r\n   })\r\n});\r\n\r\napp.listen('3000',function(){\r\n   console.log('listening 3000');\r\n});\r\n\r\n....\r\n```\r\n\r\nwhen I call a service `/api/bar` It's work well , but when I call `/api/baz` it's stuck because done was not called It's fine but I expect that when I call `/api/bar` again it should be work \r\nbut it's stuck too and a message in Rabbitmq of `/api/bar` have not been consumed yet ,calling`/api/baz` causes a whole service definitely die I have to restart server to go on.\r\n\r\nthe situation above happens in seneca-amqp-transport but not in http and tcp \r\nIs there any suggestion to handle it? I think timeout is one of solution and important feature"}}
{"actor":{"display_login":"thakerng"}}