2016-11-04 21 views
0

一定の実行時間後に特定のColdFusionページをリダイレクトするように設定できますか?タイムアウト後にcoldfusionページをリダイレクト

これは長い時間がかかるプロセスを実行しますが、試行に60秒を要し、完了した操作の量を示す新しいページに移動します。

+3

長時間実行されているプロセスをスレッド化して、プロセスがまだ実行中であることを示すページにリクエストをリダイレクトできます。 –

+0

@ ScottStrozのコメントをフォローアップして、実際にこれで成功すれば、操作がタイムアウトして進捗報告を受けた場合のユーザーの次のステップは何ですか? –

+0

これは奇妙なシナリオのようなものです。ユーザーは手動で欠落していたプロセスを埋めます。長い時間を要するプロセスの一部は、cffileのコピーコマンドです。コピーされるファイルの数は異なります。カップル以上の数がある場合は、手動で行うよりも時間がかかる傾向があります。 (私はこれがなぜであるか分かりません) –

答えて

-2

本当に簡単なことは、METAリフレッシュを使用することです。

<meta http-equiv="refresh" content="60;url=http://yoursite.com/somepage.cfm"> 

それとも、あなたはJavascriptを使用できます。あなたがここに後が何であるかを正確にわからない

setTimeout(function(){ location.href="http://yoursite.com/somepage.cfm" }, 60000); 
+1

これで概説した問題は解決しません。これにより、クライアントが60秒間アイドル状態のときにリダイレクトされます。 OPは、完了までに60秒以上かかる場合、サーバー要求をリダイレクトできるかどうかを知りたいと考えています。 –

1

それが処理していると、別の考えはフラッシュユーザーに利用可能な出力になるかもしれません。 ColdFusionには、これを容易にするためのタグがあります。

See the docs regarding the cfflush tag

定義した特定の間隔で情報を返すことができます。

間隔(オプション)

整数。このバイト数が利用可能になるたびに出力をフラッシュします。 HTMLヘッダー、およびタグの実行時にすでに使用可能なデータはカウントから除外されます。

+0

私は実際にデータを出力していません。実行されたときにcflocationタグが続く一連のクエリです。 –

+0

ユーザーとの対話がない場合(ユーザーへの出力がない場合)は、スケジュールされたタスクである必要があります。タスクが完了したら、その人に電子メールを送信させることができます。おそらく電子メールには、その人がレポートやそれが何であるかを見るためのリンクが含まれている可能性があります。 –

関連する問題