SELECTIVE DISTRIBUTION OF MESSAGES IN A PUBLISH-SUBSCRIBE SYSTEM
A method includes receiving a first query instruction input from a first client device via a graphical user interface, wherein the first client device is subscribed to a first channel of a plurality of channels. The method further includes receiving a plurality of messages from a second client device, wherein each message of the plurality of messages is associated with the channel. The method further includes generating a first filtered subset of the plurality of messages by applying the first query instruction input to the plurality of messages for the channel as the plurality of messages is received. The method further includes providing the first filtered subset of the plurality of messages to the first client device to be displayed via the graphical user interface.
1 . A method of displaying a graphical user interface for a computing device, comprising:
receiving, by a computer processing device, a first query instruction input from a first client device via the graphical user interface, wherein the first client device is subscribed to a first channel of a plurality of channels;
receiving a plurality of messages from a second client device, wherein each message of the plurality of messages is associated with the channel;
generating, by the computer processing device, a first filtered subset of the plurality of messages by applying the first query instruction input to the plurality of messages for the channel as the plurality of messages is received; and
providing the first filtered subset of the plurality of messages to the first client device to be displayed via the graphical user interface.
2 . The method of claim 1 , further comprising:
in response to generating the first filtered subset of the plurality of messages:
subscribing the first client device to a filtered version of the channel in view of the filtered subset; and
providing a notification to the first client device indicating that the first client device has been subscribed to the filtered version.
3 . The method of claim 1 , wherein the first query instruction input is selected from a library of one or more query instructions provided to the first client device via the graphical user interface.
4 . The method of claim 1 , the method further comprising:
receiving a second query instruction input from the second client device;
determining that the second client device corresponds to a publisher of the channel; and
based on the determination, adding the second query instruction to a library.
5 . The method of claim 1 , further comprising:
receiving a second query instruction input from the first client device via the graphical user interface;
generating a second filtered subset of the plurality of messages by applying the second query instruction input to the first filtered subset as the plurality of messages is received; and
providing the second filtered subset of the plurality of messages to the first client device to be displayed via the graphical user interface.
6 . The method of claim 1 , further comprising:
receiving a modification to the first query instruction input from the first client device via the graphical user interface;
generating a second filtered subset of the plurality of messages by applying the modification to the first query instruction input to the first filtered subset as the plurality of messages is received; and
providing the second filtered subset of the plurality of messages to the first client device to be displayed via the graphical user interface.
7 . The method of claim 1 , further comprising:
generating a graphical element corresponding to the first filtered subset; and
providing the graphical element to the first client device to be displayed via the graphical user interface.
8 . The method of claim 1 , wherein the first query instruction input is a Structured Query Language (SQL) query.
9 . A system, comprising:
a computer processing device programmed to perform operations to:
receive a first query instruction input from a first client device via a graphical user interface, wherein the first client device is subscribed to a first channel of a plurality of channels;
receive a plurality of messages from a second client device, wherein each message of the plurality of messages is associated with the channel;
generate first filtered subset of the plurality of messages by applying the first query instruction input to the plurality of messages for the channel as the plurality of messages is received; and
provide the first filtered subset of the plurality of messages to the first client device to be displayed via the graphical user interface.
10 . The system of claim 9 , wherein the computer processing device is further to:
in response to generating the first filtered subset of the plurality of messages:
subscribe the first client device to a filtered version of the channel in view of the filtered subset; and
provide a notification to the first client device indicating that the first client device has been subscribed to the filtered version.
11 . The system of claim 9 , wherein the first query instruction input is selected from a library of one or more query instructions provided to the first client device via the graphical user interface.
12 . The system of claim 9 , wherein the computer processing device is further to:
receive a second query instruction input from the second client device;
determine that the second client device corresponds to a publisher of the channel; and
based on the determination, add the second query instruction to the library.
13 . The system of claim 9 , wherein the computer processing device is further to:
receive a second query instruction input from the first client device via the graphical user interface;
generate a second filtered subset of the plurality of messages by applying the second query instruction input to the first filtered subset as the plurality of messages is received; and
provide the second filtered subset of the plurality of messages to the first client device to be displayed via the graphical user interface.
14 . The system of claim 9 , wherein the computer processing device is further to:
receive a modification to the first query instruction input from the first client device via the graphical user interface;
generate a second filtered subset of the plurality of messages by applying the modification to the first query instruction input to the first filtered subset as the plurality of messages is received; and
provide the second filtered subset of the plurality of messages to the first client device to be displayed via the graphical user interface.
15 . The system of claim 9 , wherein the computer processing device is further to:
generate a graphical element corresponding to the first filtered subset; and
provide the graphical element to the first client device to be displayed via the graphical user interface.
16 . The system of claim 9 , wherein the first query instruction input is a Structured Query Language (SQL) query.
17 . A non-transitory computer-readable medium having instructions stored thereon that, when executed by a computer processing device, cause the computer processing device to:
receive a first query instruction input from a first client device via a graphical user interface, wherein the first client device is subscribed to a first channel of a plurality of channels;
receive a plurality of messages from a second client device, wherein each message of the plurality of messages is associated with the channel;
generate first filtered subset of the plurality of messages by applying the first query instruction input to the plurality of messages for the channel as the plurality of messages is received; and
provide the first filtered subset of the plurality of messages to the first client device to be displayed via the graphical user interface.
18 . The non-transitory computer-readable medium of claim 17 , wherein the first query instruction input is selected from a library of one or more query instructions provided to the first client device via the graphical user interface.
19 . The non-transitory computer-readable medium of claim 18 , wherein the computer processing device is further to:
receive a second query instruction input from the second client device;
determine that the second client device corresponds to a publisher of the channel; and
based on the determination, add the second query instruction to the library.
20 . The non-transitory computer-readable medium of claim 17 , wherein the computer processing device is further to:
receive a modification to the first query instruction input from the first client device via the graphical user interface;
generate a second filtered subset of the plurality of messages by applying the modification to the first query instruction input to the first filtered subset as the plurality of messages is received; and
provide the second filtered subset of the plurality of messages to the first client device to be displayed via the graphical user interface.