title: How to implement a light pub-sub service on App Engine?
body: <p>During his Google I/O 2009 "Offline processing on App Engine: A look ahead" presentation (<a href="http://www.youtube.com/watch?v=o3TuRs9ANhs" rel="nofollow noreferrer">video</a>, <a href="http://dl.google.com/io/2009/pres/Th_1045_Offline_Processing_On_App_Engine_A_Look_Ahead.pdf" rel="nofollow noreferrer">slides</a>), Brett Slatkin presents the Task Queue service.</p>
  
  <p>He states that </p>
  
  <blockquote>
    <p><em>Pub-sub systems maximize transactions, decoupling:</em></p>
    
    <ul>
    <li><em>Large numbers of small transactions per second</em></li>
    <li><em>One-to-many fan-out with changing receivers</em></li>
    <li><em>Guaranteed ordering, filtering, two-phase commit</em></li>
    </ul>
  </blockquote>
  
  <p>And specifically emphasises</p>
  
  <blockquote>
    <p><em>Our new API implements queueing, not pub-sub</em></p>
  </blockquote>
  
  <hr>
  
  <p>I'm interested in only a subset of those functionalities:</p>
  
  <ul>
  <li>One-to-many fan-out with <del>changing</del> selected/fixed internal receiver handlers</li>
  <li><del>Guaranteed ordering</del>, filtering, two-phase commit</li>
  </ul>
  
  <p>Targeted goal would be to ease publishing of notifications/messages between different modules of the same web application. Sample usage scenarios cases would be: </p>
  
  <ul>
  <li>Making the payment module aware of receivals of bills. </li>
  <li>Making a user able to track changes of a particular domain object he has decided to follow/star.</li>
  </ul>
  
  <p>What would be the correct way to implement these on top of the Task Queue service ?</p>