{"action":"created","issue":{"url":"https://api.github.com/repos/USStateDept/FPA_Core/issues/340","labels_url":"https://api.github.com/repos/USStateDept/FPA_Core/issues/340/labels{/name}","comments_url":"https://api.github.com/repos/USStateDept/FPA_Core/issues/340/comments","events_url":"https://api.github.com/repos/USStateDept/FPA_Core/issues/340/events","html_url":"https://github.com/USStateDept/FPA_Core/pull/340","id":107840006,"number":340,"title":"NodeJS API implementation","user":{"login":"nathanhilbert","id":718283,"avatar_url":"https://avatars.githubusercontent.com/u/718283?v=3","gravatar_id":"","url":"https://api.github.com/users/nathanhilbert","html_url":"https://github.com/nathanhilbert","followers_url":"https://api.github.com/users/nathanhilbert/followers","following_url":"https://api.github.com/users/nathanhilbert/following{/other_user}","gists_url":"https://api.github.com/users/nathanhilbert/gists{/gist_id}","starred_url":"https://api.github.com/users/nathanhilbert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathanhilbert/subscriptions","organizations_url":"https://api.github.com/users/nathanhilbert/orgs","repos_url":"https://api.github.com/users/nathanhilbert/repos","events_url":"https://api.github.com/users/nathanhilbert/events{/privacy}","received_events_url":"https://api.github.com/users/nathanhilbert/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/USStateDept/FPA_Core/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":{"login":"nathanhilbert","id":718283,"avatar_url":"https://avatars.githubusercontent.com/u/718283?v=3","gravatar_id":"","url":"https://api.github.com/users/nathanhilbert","html_url":"https://github.com/nathanhilbert","followers_url":"https://api.github.com/users/nathanhilbert/followers","following_url":"https://api.github.com/users/nathanhilbert/following{/other_user}","gists_url":"https://api.github.com/users/nathanhilbert/gists{/gist_id}","starred_url":"https://api.github.com/users/nathanhilbert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathanhilbert/subscriptions","organizations_url":"https://api.github.com/users/nathanhilbert/orgs","repos_url":"https://api.github.com/users/nathanhilbert/repos","events_url":"https://api.github.com/users/nathanhilbert/events{/privacy}","received_events_url":"https://api.github.com/users/nathanhilbert/received_events","type":"User","site_admin":false},"milestone":null,"comments":5,"created_at":"2015-09-23T02:49:40Z","updated_at":"2015-09-28T13:31:30Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/USStateDept/FPA_Core/pulls/340","html_url":"https://github.com/USStateDept/FPA_Core/pull/340","diff_url":"https://github.com/USStateDept/FPA_Core/pull/340.diff","patch_url":"https://github.com/USStateDept/FPA_Core/pull/340.patch"},"body":"Most of the components of migrating the API to nodejs.  Looks like @mdramos was right to think node as it cuts out a lot of the flask start up requirements when they aren't useful (see below for benchmark).  This would definitely be a move to more of a microservice with pluses of isolation and minuses of more servers running.\r\n```\r\nTransactions:\t\t        3697 hits\r\nAvailability:\t\t      100.00 %\r\nElapsed time:\t\t       59.35 secs\r\nData transferred:\t      125.91 MB\r\nResponse time:\t\t        0.80 secs\r\nTransaction rate:\t       62.29 trans/sec\r\nThroughput:\t\t        2.12 MB/sec\r\nConcurrency:\t\t       49.58\r\nSuccessful transactions:        3697\r\nFailed transactions:\t           0\r\nLongest transaction:\t        4.03\r\nShortest transaction:\t        0.40\r\n \r\n```\r\n\r\n**To do**\r\n- [X] calculate jenks bins\r\n- [x] get the datasets models\r\n- [x] do more calls especially checking cuts\r\n- [x] output as xls and csv\r\n- [x] integrate in a better devop way such as runservers.bat\r\n- [x] integrate into front-end. maybe proxy through apache to avoid CORS and use haproxy in prod."},"comment":{"url":"https://api.github.com/repos/USStateDept/FPA_Core/issues/comments/143744435","html_url":"https://github.com/USStateDept/FPA_Core/pull/340#issuecomment-143744435","issue_url":"https://api.github.com/repos/USStateDept/FPA_Core/issues/340","id":143744435,"user":{"login":"nathanhilbert","id":718283,"avatar_url":"https://avatars.githubusercontent.com/u/718283?v=3","gravatar_id":"","url":"https://api.github.com/users/nathanhilbert","html_url":"https://github.com/nathanhilbert","followers_url":"https://api.github.com/users/nathanhilbert/followers","following_url":"https://api.github.com/users/nathanhilbert/following{/other_user}","gists_url":"https://api.github.com/users/nathanhilbert/gists{/gist_id}","starred_url":"https://api.github.com/users/nathanhilbert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathanhilbert/subscriptions","organizations_url":"https://api.github.com/users/nathanhilbert/orgs","repos_url":"https://api.github.com/users/nathanhilbert/repos","events_url":"https://api.github.com/users/nathanhilbert/events{/privacy}","received_events_url":"https://api.github.com/users/nathanhilbert/received_events","type":"User","site_admin":false},"created_at":"2015-09-28T13:31:30Z","updated_at":"2015-09-28T13:31:30Z","body":"Curious if this is the route that we are taking?  If so, I can continue to work on this branch by cutting out a lot of library imports to the flask application, which will speed that up as well."}}