Deimos bcb5a3e079 Replace RabbitMQ uses with Redis streams
RabbitMQ was used to support asynchronous/background processing tasks,
such as determining word count for text topics and scraping the
destinations or relevant APIs for link topics. This commit replaces
RabbitMQ's role (as the message broker) with Redis streams.

This included building a new "PostgreSQL to Redis bridge" that takes
over the previous role of pg-amqp-bridge: listening for NOTIFY messages
on a particular PostgreSQL channel and translating them to messages in
appropriate Redis streams.

One particular change of note is that the names of message "sources"
were adjusted a little and standardized. For example, the routing key
for a message caused by a new comment was previously "comment.created",
but is now "comments.insert". Similarly, "comment.edited" became
"comments.update.markdown". The new naming scheme uses the table name,
proper name for the SQL operation, and column name instead of the
previous unpredictable terms.
2020-01-20 13:17:33 -07:00
2019-09-26 12:10:49 -06:00

Tildes

This is the code behind Tildes, a non-profit community site. The official repository is located on GitLab at https://gitlab.com/tildes/tildes

For general information about Tildes and its goals, please see the announcement blog post and the Tildes Docs site.

Issue tracker / plans

Known issues and plans for upcoming changes are tracked on GitLab: https://gitlab.com/tildes/tildes/issues

The "board" view is useful as an overview: https://gitlab.com/tildes/tildes/boards

Contributing to Tildes development

Please see the Contributing doc for more detailed information about setting up a development version of Tildes and how to contribute to development.

License

Copyright (c) 2018 Tildes contributors code@tildes.net

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Description
No description provided
Readme AGPL-3.0 2.8 MiB
Languages
Python 68.1%
Jinja 14.8%
SCSS 12%
JavaScript 2.9%
PLpgSQL 1.6%
Other 0.5%