Prepared: 12 Feb 2026 | Data through: Jan 2026 (Stripe invoices), Oct 2025 (billing detail)
| Metric | Value | Trend |
|---|
| var rest = new Ably.Rest(key: ablyApiKey, idempotentRestPublishing: true); | |
| var channel = rest.channels.get('example-channel'); | |
| channel.publish([{ data: 'payload' }]); |
| var rest = new Ably.Rest(ablyApiKey); | |
| var channel = rest.channels.get('example-channel'); | |
| channel.publish([{ data: 'payload', id: 'unique123' }]); |
| Thank you for your interest in Open SDSP (the | |
| "Open Specification") and Ably Real-time Ltd (the "Project Sponsor"). | |
| In order to clarify the intellectual property license granted with | |
| Contributions from any person or entity, the Project Sponsor | |
| must have a Contributor License Agreement (CLA) on file that has been | |
| signed by each Contributor, indicating agreement to the license terms | |
| below. This license is for your protection as a Contributor as well | |
| as the protection of the Project Sponsor and its users; it does not | |
| change your rights to use your own Contributions for any other purpose. |
Unfortunately we're finding it really hard to find good distributed systems engineers at Ably, a distributed realtime data delivery platform.
We know a lot of you out there probably know great people who love solving truly hard distributed problems with a distributed team of superb engineers.
If you know anyone who fits the bill, wants to work remotely and is based in Europe (or wants to work on-site in London), we'll give you $3,000 simply for the referral if we end up employing them.
Follow these steps to earn $3,000 for one minute of your time:
| #!/bin/sh | |
| # Set up the Heroku scheduler to run this command every hour. See example setup at https://goo.gl/nMCSH3 | |
| # | |
| # Requires env vars to be set in Heroku with `heroku config:set`: | |
| # - HEROKU_APP_NAME: this is just the app name in Heroku, i.e. `heroku apps` will list all apps you have access to | |
| # - HEROKU_CLI_USER: Once Heroku CLI is authenticated (https://goo.gl/Qypr4x), check `cat .netrc` (or `_netrc` on Windows), | |
| # look for `login` under `machine api.heroku.com` | |
| # - HEROKU_CLI_TOKEN: As above, but use the `password` field | |
| # |
| require "bunny" | |
| require "json" | |
| require "securerandom" | |
| QUEUE = "appId:queue" | |
| VHOST = 'shared' | |
| def consume | |
| consumer_conn = Bunny.new( | |
| hostname: "us-east-1-a-queue.ably.io", |
| #!/usr/bin/env python | |
| # The contents of this file are subject to the Mozilla Public License | |
| # Version 1.1 (the "License"); you may not use this file except in | |
| # compliance with the License. You may obtain a copy of the License at | |
| # http://www.mozilla.org/MPL/ | |
| # | |
| # Software distributed under the License is distributed on an "AS IS" | |
| # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the | |
| # License for the specific language governing rights and limitations |
| Europe - Andorra | |
| Asia - Dubai | |
| Asia - Kabul | |
| America - Antigua | |
| America - Anguilla | |
| Europe - Tirane | |
| Asia - Yerevan | |
| Africa - Luanda | |
| Antarctica - McMurdo | |
| Antarctica - Casey |
| function reattach(channel) { | |
| channel.attach(); | |
| /* Example when using presence on the channel */ | |
| channel.presence.enter(); | |
| } | |
| /* Connection state changes can trigger channels to become detached | |
| Automatically re-attach channels, nothing will happen if already attached */ | |
| client.connection.on('connected', function() { | |
| for (let channelName in client.channels.all) { |