予約投稿が失敗するので治す!

WordPressで予約投稿という機能がある。その機能を使ってみたのだが、なぜか予約投稿失敗と出てしまった。

結論から言うと2点問題があった。

  1. ホスト名が引けていない
  2. 接続がタイムアウトする

この2点を修正していく。


1.ホスト名が引けていない問題の修正
予約投稿はブログへのアクセスがあった際に、投稿すべき記事があった場合に予約された投稿処理を行う仕組みになっているようだ。
予約投稿を実行する際には、HTTP通信で投稿処理を行なっている。そのため、Webサーバからホスト名でアクセス出来ないといけない。
うちの環境の場合ネットワーク内からホスト名を引こうとするとエラーになってしまう。
解決方法として
/etc/hosts

192.168.0.2  hmhr.ath.cx localhostname
のように定義した。

2.接続がタイムアウトする
これは
\wp-includes\cron.php
の250行目付近で
wp_remote_post()という関数を読んでいて、そこで ‘timeout’ => 0.01となっているので0.01を10とかにする。(このタイムアウトは秒数単位)

この設定で、とりあえず予約した記事が投稿されることが確認できた。
とりあえず、しばらくこれで様子を見てみよう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください