It’s just data

Two Pings For Every Post

Joseph Scott: Today we’ve turned on PuSH support for the more than 10.5 million blogs on WordPress.com. There’s nothing to configure, it’s working right now behind the scenes to help others keep up to date with your posts.

function publish_post( $post_id ) {
	$subs = $this->get_subscribers( get_bloginfo( 'rss2_url' ) );
	foreach ( (array) $subs as $callback => $data ) {
		if ( $data['is_active'] == FALSE )
			continue;

		$this->schedule_ping( $callback, $post_id, 'rss2', $data['secret'] );
	}

	$subs = $this->get_subscribers( get_bloginfo( 'atom_url' ) );
	foreach ( (array) $subs as $callback => $data ) {
		if ( $data['is_active'] == FALSE )
			continue;

		$this->schedule_ping( $callback, $post_id, 'atom', $data['secret'] );
	}
}

I haven’t bothered to look at the code, but perhaps for every comment too? Or maybe not, since by default although there are (inexplicably) RSS and Atom feeds for posts, there is only Atom for comments iirc.

Posted by Ciaran at

Just depends on which feed you subscribe to for PuSH updates.  If you make PuSH subscriptions to both then you’ll get 2 pings (one in RSS2 format, the other in Atom).  If you only subscribe to one you’ll only get one.

Posted by Joseph Scott at

I guess I wasn’t clear.  Clearly, subscribers will only get what they ask for.  A WordPress installation, however, will send up to two pings to each hub, with essentially no difference in message.  Each hub will receive up to two pings from each WordPress blog that is updated.  This seems unnecessary and suboptimal.

My recommendation continues to be for each site to pick one.  At one time I had submitted bugs and tickets along these lines (allowing each site to pick one, on a site by site basis), but eventually I gave up when my perception was that everything stalled.

Posted by Sam Ruby at

I also haven’t looked at the code yet, but I believe in their implementation, Wordpress is the hub. So, assuming I’m correct, the only people being pinged are clients, and as Joseph said, they’ll only be pinged for whichever feed they’re subscribed to. No third-party hubs should be involved in this process at all.

Posted by James Holderness at

The excerpt I quoted in my post was from the plugin.

Posted by Sam Ruby at

With the PuSHPress plugin WordPress is the hub, it isn’t pinging a 3rd party hub.  There are other PuSH plugins for WordPress that will relay updates via a 3rd party hub if that’s what you want to do.

Posted by Joseph Scott at

Add your comment