2012-03-11 14 views
0

まず、私の英語を謝罪してください。cronで実行するPHPスクリプトをロード

私は自分のWeb購読用のスクリプトを作成しています。このスクリプトはcronで動作しますが、私は疑いがあります。

私のホストには、2分ごとに電子メール25件、時間あたり200件の電子メール、およびphp max_execution_time設定が120です。スクリプトは1分ごとに6件の電子メールを送信する必要があります。このlimutaciójnのために、私はスクリプトを実行して1分残るまで睡眠時間を取るので、GETを使用して送信された新しいパラメータでスクリプトをリロードするのは嫌です。

スクリプトをcronで実行すると、javascriptやヘッダーの場所を使用できないため、このスクリプトを作成する方法をわからないので、新しいパラメータを再読み込みします。

誰もが考えていますか?

+0

ここでは、良い答えが出てくるのに十分な情報はありません。 GET変数を使用してスクリプトを起動すると、それらの変数はどのようなものになりますか? MySQLデータベース?あなたのワークステーション上のExcelスプレッドシート? PHPの配列ですか?あなたの質問をより完全にすると、答えはより完全になります。 – ghoti

+0

も参照してください:http://stackoverflow.com/questions/917251/php-email-and-cron ...現時点では、あなたの問題が基本プログラミングか、あなたの問題に適応するための戦略であるかどうかはわかりませんがプロバイダの制限。 – ghoti

+0

ご迷惑をおかけして申し訳ありません。 このプロセスは次のとおりです。ユーザーはサブスクリプションリストを購読し、このリストにメールするWeb管理者を作成します。私はすべてを保存するデータベースを持っています。 24:00彼らはメールを受け取ったときにユーザーに送信されます。 – aoiTo

答えて

0

cronを使用すると、コマンドラインまたは回避策を使用して標準のWebスクリプトとしてPHPスクリプトを起動できます。あなたが後者をしたい場合は、ただwget http://localhost/whatever.php > /dev/null 2>&1することができます。出力リダイレクションに注意してください。なぜなら、cronを使用したプロセスの出力は、指定されたcrontabの所有者に郵送されるからです。

とにかく、crontabは、起動の間隔を1分にすることができるので、スクリプトのタイムアウトに実際に問題はないはずです。あなたのスクリプトが1回の打ち上げあたり12-13メールを送信しないようにしてください(mail()コールの間に5秒の睡眠を入れてください)。

関連する問題