<blockquote>
<p>Well surely the point is that we're not really building them client side - we are fetching them from the server and then augmenting.</p>
</blockquote>
<p>Maybe I phrased it badly. By multiple round trips I mean:</p>
<ul>
<li>Client requests query page (trip 1)</li>
<li>Client receives placeholder html (trip 2)</li>
<li>Client makes js requests to overpass (trip 3)</li>
<li>Client receives json responses from overpass (trip 4)</li>
</ul>
<p>I think we're very much building these responses client-side.. I'd prefer to see the server making the requests to overpass, to cut down on the number of round trips (and incidentally, this would cut out unnecessary https sessions to different servers too).</p>
<p>(Even the browse pages involve multiple trips, since we do make the html part server-side, but then make the client make a entirely separate request for the node XML just to get the coordinates in order to put it on the map)</p>
<blockquote>
<p>My concern is not CPU or anything but rather tying up a rails server for N seconds while it waits for an API response.</p>
</blockquote>
<p>Yep, that's what I was thinking of too. OSMF would prefer to be doing this in a multithreaded setup rather than having processes blocked on external responses. Puma (default rails server) runs multithreaded by default, but passenger (what OSMF uses) only supports multithreading in Passenger Enterprise. But that is a decision that can be made later, if we decide that this idea has merit in the first place and if (big if) necessary.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/issues/1949#issuecomment-413727837">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABWnLbKmSILcrnO99B3A7Cg_UXtGArhqks5uRhcKgaJpZM4V_j_f">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABWnLbYq3aoK9Q3FOaS7qoxhu_lZzPGFks5uRhcKgaJpZM4V_j_f.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/openstreetmap/openstreetmap-website","title":"openstreetmap/openstreetmap-website","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/openstreetmap/openstreetmap-website"}},"updates":{"snippets":[{"icon":"PERSON","message":"@gravitystorm in #1949: \u003e Well surely the point is that we're not really building them client side - we are fetching them from the server and then augmenting.\r\n\r\nMaybe I phrased it badly. By multiple round trips I mean:\r\n\r\n* Client requests query page (trip 1)\r\n* Client receives placeholder html (trip 2)\r\n* Client makes js requests to overpass (trip 3)\r\n* Client receives json responses from overpass (trip 4)\r\n\r\nI think we're very much building these responses client-side.. I'd prefer to see the server making the requests to overpass, to cut down on the number of round trips (and incidentally, this would cut out unnecessary https sessions to different servers too). \r\n\r\n(Even the browse pages involve multiple trips, since we do make the html part server-side, but then make the client make a entirely separate request for the node XML just to get the coordinates in order to put it on the map)\r\n\r\n\u003e My concern is not CPU or anything but rather tying up a rails server for N seconds while it waits for an API response.\r\n\r\nYep, that's what I was thinking of too. OSMF would prefer to be doing this in a multithreaded setup rather than having processes blocked on external responses. Puma (default rails server) runs multithreaded by default, but passenger (what OSMF uses) only supports multithreading in Passenger Enterprise. But that is a decision that can be made later, if we decide that this idea has merit in the first place and if (big if) necessary."}],"action":{"name":"View Issue","url":"https://github.com/openstreetmap/openstreetmap-website/issues/1949#issuecomment-413727837"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/issues/1949#issuecomment-413727837",
"url": "https://github.com/openstreetmap/openstreetmap-website/issues/1949#issuecomment-413727837",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Re: [openstreetmap/openstreetmap-website] Reduce size of application.js by removing translations? (#1949)",
"sections": [
{
"text": "",
"activityTitle": "**Andy Allan**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@gravitystorm",
"facts": [

]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"openstreetmap/openstreetmap-website\",\n\"issueId\": 1949,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"name": "Close issue",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueClose\",\n\"repositoryFullName\": \"openstreetmap/openstreetmap-website\",\n\"issueId\": 1949\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/openstreetmap/openstreetmap-website/issues/1949#issuecomment-413727837"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 368984031\n}"
}
],
"themeColor": "26292E"
}
]</script>