[wp-trac] [WordPress Trac] #6698: Editing a published post causes excessive pings / closing comments on old posts causes trackbacks
WordPress Trac
wp-trac at lists.automattic.com
Mon Jul 20 14:28:22 UTC 2009
#6698: Editing a published post causes excessive pings / closing comments on old
posts causes trackbacks
-------------------------------------+--------------------------------------
Reporter: lapcat | Owner: Denis-de-Bernardy
Type: defect (bug) | Status: reopened
Priority: high | Milestone: 2.8.3
Component: Pings/Trackbacks | Version: 2.8.1
Severity: major | Resolution:
Keywords: has-patch needs-testing |
-------------------------------------+--------------------------------------
Changes (by VoxPelli):
* keywords: has-patch tested => has-patch needs-testing
Comment:
Replying to [comment:37 Denis-de-Bernardy]:
> Transients and options work in much the same way except that a) they can
expire (hence no need for your options-related logic) and b) they're not
stored in the database when using a persistent object cache.
When saved directly to database it seems like pure options would be better
in this case - but if transients works better with the persistent object
cache as you say I should use them instead. I've updated the patch with
that change.
> Anyway, if you feel a 60s throttle before any pinging occurs is in
order, base your patch on 6698.4.diff, and schedule the ping to occur at
time() + 60 instead of time().
I actually removed the throttle now - if a real cron job hasn't been set
up the website has to actually be visited to trigger a cron job and we
don't know when that will happen so even a 60 seconds throttle can turn in
to a very long throttle for a blog not visited very often.
I based my new patch on my old because I think your patch is broken in at
least three ways.
First it ignores all ping sources during the waiting period between two
pings - it should queue a ping instead as my patch does.
Secondly it sets the timer in _transition_post_status() when it's only in
generic_ping() we actually know the correct timestamp.
Thirdly a minor thing - the third argument of set_transient() is not a
timestamp - it's the lifetime of the option.
--
Ticket URL: <http://core.trac.wordpress.org/ticket/6698#comment:38>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list