Am 18.01.2010 um 20:40 schrieb Tarek Ziadé:

> On Mon, Jan 18, 2010 at 8:19 PM, Jannis Leidel <[email protected]> wrote:
> [...]
>> 
>> Why not? The ping from PyPI to the mirrors would simply tell them to ask 
>> PyPI for updates since the last time they were updated. In case a ping 
>> doesn't reach a mirror it'll get updated next time it receives a ping.
> 
> So in that case, a ping would not be specific to a project at PyPI
> being updated, but just to notice that  CHANGELOG has changed ?

Actually it doesn't matter if the ping says "project x updated" or "changelog 
of index updated". The only important information of that ping (or should I say 
HTTP POST request) is its timestamp. The mirror would be able to compare it to 
its own "last-updated" value to decide to mirror or what to do.

>>> So why bother setting up two different update systems ? each mirror
>>> can look at the CHANGELOG every minute or so and get updated on their
>>> side.
>> 
>> I'm not proposing two update systems. IMO, there is a difference between the 
>> message "package was updated" and the actual mirroring of the package 
>> following that message. Each are most useful when combined of course, but 
>> the messaging shouldn't be limited to be used only by the mirroring.
> 
> If PyPI calls other servers for something else than reading the stats,
> it should be a call that returns instantly (with a very fast timeout
> as well). In that case, I think it could be done technically.
> 
> But yet, I don't really see the use case: what is the big difference
> of having PyPI ping you, let's say, ten times per hour, and you
> looking if the changelog has changed once every ten minutes?

The big difference is the integration with other systems over an common 
technology (HTTP), mirroring being just one use case.

> What is the usage ? mirrors will always be a bit unsynchronized, since
> a mirroring protocol is not a real-time synchronization system. A
> one-hour lag is acceptable here.

Besides the reference use case "mirroring"?

I don't know. Let's think about potential web services that could use 
information about a new software release:

Continous integration, yay!
Social communities with voting and commenting, yay!
Version control, yay!
"Private" mirrors (as in "not advertised in the public")
http://pypants.org
http://heroku.com

and so on..

Jannis



_______________________________________________
Catalog-SIG mailing list
[email protected]
http://mail.python.org/mailman/listinfo/catalog-sig

Reply via email to