何を達成したいのかわかりませんが、 set_time_limit を変更することはお勧めできません。これにより、実行中のスクリプトが発生する可能性があり、x 時間ごとにスクリプトを呼び出すと、しばらくしてサーバーがクラッシュします。
しかし、私が理解しているように、ユーザーの csv ファイルを生成したいと考えています。あなたが今やっていることは、(おそらく) ユーザーがリンクにアクセスし、csv のレンダリングを開始することです。
(javascript を使用して) できることは、リンクをクリックすると進行状況バーが開始され、バックグラウンドでファイルのレンダリングを開始することです (終了時に電子メールを送信することもできます)。このようにして、ユーザーは引き続きシステムを使用できます。また、ユーザーはリロードを押さないため、複数の csv のレンダリングを開始できます。
次に、フレームワークがわかりませんcodeigniter
。ネイティブ関数は常に高速です。ただし、1.000 行以上をレンダリングする必要がある場合は、おそらく負荷の共有を検討できます。つまり、100 をロードし、100 行を挿入し、100 をロードし、100 を挿入します。
このヒントが役立つことを願っています
編集 --- いくつかのコード例 ---
少し時間がかかりましたが、上記のコード例をいくつか示します。
最初に、csv が存在するかどうかを x 秒ごと (この例では 60 秒) (つまり 1 分ごと) にチェックします。ファイルが存在するかどうかを確認するには、このstackoverflow anserを使用し、単純な JavaScript 間隔を追加するだけです。
var checkFile = self.setInterval(function(){checkFile()},60000); // interval uses milli seconds as far as I know
function checkFile() {
if (UrlExists(url)) { // url exists is the function of the answer given
checkFile = window.clearInterval(checkFile);
// add other stuff to do
}
}
このコードを使用すると、ファイルがレンダリングされているかどうかを確認できます。レンダリングされている場合は、ユーザーなどにメッセージを設定できます