PHP

Cron PHPプロセスが溜まる、重くなる timeout

優 PHP

PHP7 yum インストール 高速 実行速度 2倍

Cronで定期的なバッチ処理をかけたい場合など、処理が複雑なほど途中失敗する事があり、そうなるとプロセスが溜まっていき動作が重くなります。それをtimeoutコマンドを使って解決するTipsです。

 

そこでtimeoutコマンドをバッチ処理の直前に記述して実行します。

timeout 秒数 php 処理ファイル

これで失敗した時はタイムアウトし、プロセスが消滅してくれます。

 

Cronに記述したサンプル

# vi /etc/crontab


SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
#MAILTO=root
MAILTO=""
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed


30 4  *  *  * root cd /home/hogeuser/public_html/app/batch/ && timeout 5400 php update_data.php

これで5400秒かかっても終わらなかった場合はタイムアウトになります。便利ですね!

 

お疲れ様です。

PHP
最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG