WordPressのWP_Cronを使って非同期処理
WordPressに投稿するとアプリにプッシュ通知する仕組みを作っているときの覚書。
環境: CentOS 6.5, WordPress 4.0.0
Linuxのcronとかpthreadに頼らずにやってみた。
WordPressにはwp_schedule_single_eventという登録したフックを一度だけ実行する関数がある。
ソースをみると10分の間に同じリクエストがくると無視されるが、$argsが違えばスケジュールに登録される。
同じ記事に対して何度もプッシュ通知が来てもウザいのでちょうどいい。
コードサンプルは上の公式サイトを参考に。
でも念のためLinuxのCronに10分ごとに/wp-cron.phpにリクエストを送る処理書いた。。。
# vi /etc/cron.d/wordpress
MAILTO=""
# Excute WordPress WP_Cron
*/10 * * * * root curl http://hoge.com/wp-cron.php > /dev/null 2>&1
参考サイト:Better wp-cron using linux's crontab
< Related Posts >