Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Curl アプレットを同期させるための注意点
04-22-2014, 04:22 PM (This post was last modified: 04-22-2014 04:24 PM by umemura.)
Post: #1
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
Find all posts by this user
Quote this message in a reply
Post Reply 


Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  WebLogic で Curl を動かす umemura 1 3,919 01-13-2015 02:17 PM
Last Post: umemura
  Curl RTE のインストールログの取得方法 umemura 0 1,701 04-18-2014 07:49 PM
Last Post: umemura
Forum Jump:


User(s) browsing this thread:
1 Guest(s)