(no title)
colinchartier | 2 years ago
function software_listen(channel, callback):
if not channel_listened(channel):
sql("LISTEN " + channel)
listeners[channel].append(callback)
function on_message(channel, data): for listener in listeners[channel]
listener(channel, data)
function unlisten(channel, listener): listeners[channel].remove(listener)
if len(listeners[channel]) == 0:
sql("UNLISTEN " + channel)
Here's the actual go implementation we use:https://gist.github.com/ColinChartier/59633c1006407478168b52...
No comments yet.