Sebastian Spaeth 2cfffd5ed8 Make PuSHing the Pubhubsubbub server an async task (#436, #585)
Notifying the PuSH servers had 3 problems. 

1) it was done immediately after sending of the processing task to celery. So if celery was run in a separate
process we would notify the PuSH servers before the new media was processed/
visible. (#436)

2) Notification code was called in submit/views.py, so submitting via the
   API never resulted in notifications. (#585)

3) If Notifying the PuSH server failed, we would never retry.

The solution was to make the PuSH notification an asynchronous subtask. This
way: 1) it will only be called once async processing has finished, 2) it
is in the main processing code path, so even API calls will result in
notifications, and 3) We retry 3 times in case of failure before giving up.
If the server is in a separate process, we will wait 3x 2 minutes before
retrying the notification.

The only downside is that the celery server needs to have access to the internet
to ping the PuSH server. If that is a problem, we need to make the task belong
to a special group of celery servers that has access to the internet.

As a side effect, I believe I removed the limitation that prevented us from
upgrading celery.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2013-01-15 14:53:08 +01:00
2012-07-07 21:18:27 +02:00
2013-01-07 11:44:29 +01:00
2011-03-28 10:28:10 -04:00
2012-12-03 13:53:32 +01:00
2012-11-26 11:57:33 -06:00
2011-12-12 09:53:41 -05:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

========
 README
========

What is GNU MediaGoblin?
========================

* Initially, a place to store all your photos thats as awesome as, if
  not more awesome than, existing network services (Flickr, SmugMug,
  Picasa, etc)
* Customizable!
* A place for people to collaborate and show off original and derived
  creations.  Free, as in freedom.  Were a GNU project after all.
* Later, a place for all sorts of media, such as video, music, etc hosting.
* Later, federated with OStatus!


Is it ready for me to use?
==========================

Yes!  But with caveats.  The software is usable and there are instances
running, but it's still in its early stages.


Can I help/hang out/participate/whisper sweet nothings in your ear?
===================================================================

Yes!  Please join us and hang out!  For more information on where we
hang out, see `our Join page <http://mediagoblin.org/join/>`_


Where is the documentation?
===========================

The beginnings of a site administration manual is located in the ``docs/``
directory in HTML, Texinfo, and source (Restructured Text) forms.  It's
also available online at http://docs.mediagoblin.org/ in HTML form.

Contributor/developer documentation as well as documentation on the
project processes and infrastructure is located on 
`the wiki <http://wiki.mediagoblin.org/>`_.
Description
Testing
Readme 45 MiB
Languages
JavaScript 43.9%
Python 43.2%
HTML 9.1%
CSS 1.4%
Shell 0.9%
Other 1.5%