I believe it would require to create a new daemon (preferably written in c++) which I am willing to write, that could do similar what the ircd does right now. And that is delivery of new change to all connected clients.
There would be preferably set of processes that are working together on this system. Some kind of cache daemon that would contain the history for all projects, dispatcher that would handle requests of clients and retrieve the data from cache daemon and listener which would retrieve the UDP traffic from wiki's and forward them to cache daemon.
We could of course create a multithreaded single process daemon as well, but that would make it little bit less stable, given that crash of any thread would bring down whole system.
On Fri, Mar 1, 2013 at 1:26 PM, Tyler Romeo tylerromeo@gmail.com wrote:
Hey,
It sounds like an interesting idea. Actually, AWS (I've been working with it recently for Extension:AWS) has a similar architecture, where you establish a push notification service using their Simple Notification Service and have it send messages to a queue using their Simple Queue Service.
The difficulty in replacing IRC would be that, first of all, it would almost definitely have to be a push-based service, where the wiki would publish the message and the notification server would send out the recent change to all the subscribed clients. This begs the question of whether there's an existing piece of software that does this or whether this would require implementing a daemon in the form of a maintenance script that handle the job.
*--* *Tyler Romeo* Stevens Institute of Technology, Class of 2015 Major in Computer Science www.whizkidztech.com | tylerromeo@gmail.com
On Fri, Mar 1, 2013 at 3:55 AM, Petr Bena benapetr@gmail.com wrote:
Hi,
I think that irc feed of recent changes is working great, but there is still a lot of space for improvement.
As Ryan Lane suggested once, we could probably use system of queues instead of irc which would be even more advanced. My suggestion is to create some kind of feed that would be in machine parseable format, like XML
This feed would be distributed by some kind of dispatcher living on some server, like feed.wikimedia.org and offering not just recent changes but also a recent history (for example last 5000 changes per project)
In case that service which is parsing this feed would be down for a moment, it could retrieve a backlog of changes.
The current feed irc.wikimedia.org should stay, but we could change it so that the current bot is retrieving the data from new xml feed instead of directly from apaches.
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l