04-22-2014, 04:22 PM,
(This post was last modified: 04-22-2014, 04:24 PM by umemura.)
|
|||||
|
|||||
Curl アプレットを同期させるための注意点
★point1
resync-file を利用しよう ★point2 デプロイモジュールの更新日時を変更しよう Curl アプレットは、クライアント側にキャッシュされることで、毎回の起動時にロード時間を短縮してくれます。 さらに、それらのキャッシュは、起動時に自動でサーバに上がっているモジュールと比較され、 差分がある場合は、最新のモジュールがキャッシュされる仕組みになっています。 とはいえ、正しい設定、環境でないと、このキャッシュ更新機能がうまく働かないので、 いくつか注意するすべき項目を挙げておきます。 ①resync-file を利用 ②デプロイ時に各ファイルの更新日時を最新化する ①については、過去のCurlアプレット配信では resync-as-of というAPIを利用して 最新化の日時を設定していた方もいらっしゃるかと思いますが、 このAPIは、デプロイの度に対象日時を変更する必要があり、ちょっと面倒でした。 現在は、「resync-file」を利用することで、manifest.mcurl ファイルの更新日時が 自動的に対象日時として設定されます。 Curl としても、このresync-file を利用することを推奨しているようです。 ②については、結構見逃されがちな問題なので、注意が必要です。 具体的には下記のような例があります。 ■ケース1 resync-file を使っており、再デプロイ時に変更のあったパッケージのみ pcurl化し、 すでに運用されているアプリケーションから、そのファイルだけ、元ファイルと置き換えた。 しかし、次の日起動したら同期化されていなかった。 →理由:manifest.mcurl の更新日時がそのままなので、変更があると判断されない。 ■ケース2 すでに運用されているアプリケーションを最新化するため、 デプロイ当日の12時に、デプロイモジュールを事前に作成しておき、 実際のデプロイは20時に行った。 ユーザは、当日の15時に初めてアプリケーションを起動していた しかし、次の日起動したら同期化されていなかった →理由:デプロイされたファイルの更新日時(12時)が、 キャッシュされた時刻(15時)より過去になってしまうため。 Curlの同期ルールを正確に理解したうえで デプロイモジュール作成時のタイミングや、作成モジュール対象のファイルの切り分けを行えば、 これらの問題を起こさずに済みますが、 私の場合は、「全ファイルの更新日時を一括してデプロイ時刻に統一する」のが一番楽かな、 と思っています。 デプロイ時に Ant を使っているのであれば、 touch タスクで更新日時を変更するか、 ツールなどを利用して、デプロイ直前に更新日時を変更してからデプロイすれば 上記の問題は回避できます。 ■(参考)ファイルのアクセス日付変更ツール http://www.vector.co.jp/soft/dl/winnt/ut...03248.html |
|||||
« Next Oldest | Next Newest »
|
Possibly Related Threads... | |||||
Thread | Author | Replies | Views | Last Post | |
WebLogic で Curl を動かす | umemura | 1 | 5,903 |
01-13-2015, 02:17 PM Last Post: umemura |
|
Curl RTE のインストールログの取得方法 | umemura | 0 | 2,751 |
04-18-2014, 07:49 PM Last Post: umemura |
Users browsing this thread:
1 Guest(s)
1 Guest(s)