French Toast Backend Pieces: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 91: Line 91:


There is a change that the meta-data is not available yet when the user opens the Pin to Board dialog. The UI should therefore take this into account.
There is a change that the meta-data is not available yet when the user opens the Pin to Board dialog. The UI should therefore take this into account.
== Backend Infrastructure ==
Many of the above pieces will have to respond to new content appearing in the system. We are thinking about introducing some kind of message bus where we can publish events that happen. Events are for example:
* A new user signed up
* A user changed his social settings
* A user has a changed social graph
* A user has subscribed to a board
* A user has created a board
* A user has pinned a new page
* We have processed a new page and all its meta-data has been retrieved
Many events are generated directly by user actions. These will likely be responded to by a bunch of worker processes that do tasks like:
* Make a thumbnail
* Ask diffbot to process the page
* Ask AlchemyAPI to process the page
* Do our own processing
Those tasks can then generate more events to which other systems can respond. For example, the Search Autocomplete can subscribe to some of these events to keep its databases up to date. When it receives a 'hey we have the raw meta data for a new page available' event, it can grab that meta data and process it and index it in its own special way.
Confirmed users
971

edits