マイページで、完了するまでに比較的時間がかかるスクリプトが実行されます。ユーザーが情報を送信し、すぐに「完了」をエコーして、スクリプトの実行中にユーザーがページを終了できるようにしたいと思います。これどうやってするの?
質問する
212 次
3 に答える
2
cronを使用します。ページでメールタスクを作成し、dbまたはfsに保存します-関係ありません。電子メールタスクを取得して実行するn分ごとに実行されるスクリプトを作成します。
残念ながら、ホスティングはcronをサポートしていない可能性があります...
于 2012-10-15T23:33:10.677 に答える
2
メールは当然遅いです。メールにはジョブ キューを使用することをお勧めします。あなたは見るべきです
これらのソリューションを使用すると、遅いタスクをキューに入れ、引き続き有効な情報と進行状況をユーザーに表示できます。
サンプル クライアント
$client= new GearmanClient();
$client->addServer();
$client->do("email", json_encode(array("A@yahoo.com","Hello World","This is your first Mail")));
echo "Welcome To XYZ" ;
サーバ
$worker = new GearmanWorker();
$worker->addServer();
$worker->addFunction("email", "sendMail");
while ( $worker->work() );
function sendMail($mail) {
list($to, $subject, $message) = json_decode($mail);
return mail($to, $subject, $message);
}
于 2012-10-15T23:37:42.383 に答える
1
私の提案は、すべての情報をテーブル行または同様のデータ構造に送信し、数分ごとにcronジョブを実行して各行を調べ、送信された情報に基づいてスクリプトを実行することです。
これは少し複雑になりますが、恐れ入りますが、すぐにユーザーを解放します(生の情報がDBに保存されると)
于 2012-10-15T23:33:23.450 に答える