{"id":16372501,"url":"https://github.com/mgwidmann/elixir-rails-websockets","last_synced_at":"2026-03-13T20:30:19.815Z","repository":{"id":25991557,"uuid":"29433847","full_name":"mgwidmann/elixir-rails-websockets","owner":"mgwidmann","description":"Backend polling system to handle larger traffic with less hardware in Rails","archived":false,"fork":false,"pushed_at":"2015-02-13T05:24:52.000Z","size":164,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-31T17:23:02.458Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgwidmann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-18T17:21:02.000Z","updated_at":"2024-11-10T06:19:43.000Z","dependencies_parsed_at":"2022-08-24T14:19:24.484Z","dependency_job_id":null,"html_url":"https://github.com/mgwidmann/elixir-rails-websockets","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgwidmann%2Felixir-rails-websockets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgwidmann%2Felixir-rails-websockets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgwidmann%2Felixir-rails-websockets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgwidmann%2Felixir-rails-websockets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgwidmann","download_url":"https://codeload.github.com/mgwidmann/elixir-rails-websockets/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239921877,"owners_count":19718842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T03:11:35.589Z","updated_at":"2026-03-13T20:30:17.754Z","avatar_url":"https://github.com/mgwidmann.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Elixir-Rails Websockets\n\nThis project leverages the [Phoenix](https://github.com/phoenixframework/phoenix) web framework, written in [Elixir](http://www.elixir-lang.org/), which has a superb web socket system. Phoenix can handle a large load of web socket traffic due to the Erlang VM's actor model of concurrency.\n\nThis project allows you to extend any existing `GET` endpoint you currently have with web sockets by polling your rails (or any other) server.\n\n## Installation\n\nEnsure [Elixir is installed](http://elixir-lang.org/install.html).\n\nTo start the Phoenix application:\n\n1. Install dependencies with `mix deps.get`\n2. Start Phoenix endpoint with `mix phoenix.server`\n\nThe interface is located in http://localhost:4000/interface.\n\n## Example Usage\n\nOpen the browser to the interface. Fill out the timeout and URL field (or leave them to their default) and click \"Connect\".\n\nFor example, the defaults have a 1 second timeout and connects to `http://www.google.com/`. JSON data will always be returned, but if the content is HTML, the data gets returned in an `html` field like so:\n\n```\n{\n  \"html\": \"\u003chtml\u003e\u003cbody\u003eExample\u003c/body\u003e\u003c/html\u003e\"\n}\n```\n\nOtherwise, JSON data will be returned exactly as retrieved. As shown with the default setup, content comes back every second. But that is only because the content is different each time google is fetched. If the content was identical to what was fetch previously, no data would be pushed back to the client. If you change the URL to `http://www.yahoo.com` where the content doesn't changed you will not see any traffic on the socket (if you use developer tools to inspect).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgwidmann%2Felixir-rails-websockets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgwidmann%2Felixir-rails-websockets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgwidmann%2Felixir-rails-websockets/lists"}