本文转载自:WordPress啦!
WordPress 2.8 修改了默认的ping频率,将发布或编辑文章时的ping改为每小时一次。这一修改既没有写进文档也没有在发布说明中提到,发现这一问题的是一位名叫Christian Bolstad的WordPress用户。
这会造成什么影响呢?
- 推迟了RSS订阅的更新。
- 推迟了RSS订阅的更新意味着推迟了所有与其相关的服务。
- 推迟了RSS订阅意味着与RSS相关的搜索引擎的工作也推迟。
我猜测这个功能是为了加快管理界面的执行速度。如果很多服务要执行Ping,比如发布或编辑文章等,意味着你要等待管理界面解析Ping后再执行。 Christian Bolstad有人认为此举严重阻碍了实时网站的实现。 这么说可能有点过了,但是它确实延迟了一切从WordPress上发出的东西。
这一变动的负责人,Denis de Bernardy(WordPress核心开发成员之一)认为Christian Bolstad 的文章是危言耸听的,并发表了评论:
如果最终用户没有代码经验不能写补丁,他随时可以提交一个评论或建议,这也就罢了。 但对于程序员来说,就不太好了,把一篇危言耸听的文章置顶,这行为是让人无法忍受的。他能够也应该写一个补丁。如果不写补丁的话,就应该接受我们的修改。
至于为什么没有在版本说明里阐明,因为这根本就是很小的事,对WordPress用户(也包括免费用户)都不值得一提。如果你觉得有必要可以自己添加这个说明。
很明显他是在为Ping行为的修改做辩解,只不过这辩解显得苍白无力。从某种程度上来讲,他认为程序员不能对这种决定评头论足,他们应该安安静静地提交补丁。真是滑稽,希望他的本意不是这样的。 总之,要记住现在WordPress默认的不再是发布时就执行Ping了,而是每个小时Ping一次。你可以随时修改Ping行为,但是可能你的网站会受到影响,甚至崩溃。
原文:WordPress Switches to Hourly Pinging, Tells No One
Blogger Christian Bolstad found a new feature in WordPress 2.8, undocumented and not among the release notes in the Codex. Basically, it changes the notification behavior of WordPress, from notifying ping services like Pingomatic and others you might use automatically when publishing a post or editing a previously published post, to doing a once an hour notification using the built-in pseudo cron.
So why is this a bad thing? [Note! Bullets updated below! See comments for more.]
- It delays updates to
the RSS feedto services relying on pinging. - Delaying pings delaying all services depending on pinging.
- Delaying pinging to middle man services means that syndication of the links will be delayed.
My guess is that this feature was implemented to speed up the admin interface. After all, if you’ve got a bunch of services to ping, publishing or editing a published post would mean that you’d have to wait while the admin interface parsed through the pinging.
Christian Bolstad thinks this is putting the real time web to a halt. That might a bit over the top, but it does delay everything coming from a WordPress install.
Denis de Bernardy was the developer responsible for this change in behavior, and he find the post alarmist and intolerable. This are his words in a comment on the post:
If an end user with no coding skills can’t write a patch, he can always submit a comment in trac, and suggest things to be done otherwise. That’s fine.
The same from a coder is not fine. Add an alarmist post on top, and things become intolerable. If a coder isn’t not happy with a behavior, he can and should write a patch. If he doesn’t, he should put up with the behavior.
As to why this wasn’t added in the release notes, it’s a Wiki. It occurred to nobody who contributed to them (without getting paid either) that it was worth a mention. Go right ahead and add the note yourself if you think it’s so important.
Obviously he is just defending the decision to change the pinging behavior, albeit in a somewhat poor way. For some reason he thinks that coders are not allowed to criticize choices made, they should be quiet and submit patches instead. Let’s hope he didn’t really mean it that way. And the fact that an end user should update the release notes is something of an issue with open source overall, because as Bernardy says the developers do it on their free time. Ideally they would write complete release notes, but if the choice is to either finish a function/feature, or write the notes, the developer will finish his coding instead. As he should. Still, it is an issue as this discussion surely points out.
Anyway, one should be aware that WordPress per default does not ping on publish anymore, it does it on a per-hour basis instead. It is also a reminder of the fact that developers can change behavior at any time, and that it might in fact effect your site, or even break it.