メインコンテンツへスキップ

ecfの動的なリリース

コメント

15件のコメント

  • OBR

    スタジオの環境ではありますが、

    Loginを実行中に、B.ecfを変更してみたら、

    変更前のプログラムが実行されました。

     

    なので、サービス起動中のecfの更新は難しいかなと思いました。

  • OBR

    資料の共有、ありがとうございます。

    参考にしてみます。

     

    メンテ時間は弊社内でもそこが落としどころかなと結論が出そうなので、お客様に提案するつもりです。

    あまりリリースのときの、あれやこれやと考えるのは嫌なので、シンプルに行きたいなというのが本音です、、、

  • nkmt

    ISHIJIMA様ご提示のpdfはまだ見ていませんが・・・・

    クライアント実行版でサーバー設置客の場合、夜間バックアップ処理で最新ecfを本物場所へmoveするようにしております。

    RIAでしたら、サービス停止

    ecf入れ替え

    サービス起動 なんですかね。

  • OBR

    皆さん、ありがとうございます。

    やはり、いつも通りにサービス停止、入替、サービス開始という風にしたほうがいいですね。

    お客様にメンテ時間を設けてもらえるように打診してみます。

  • nkmt

    ピアツピアのお客様なら、全員止めて!とアナウンスして、サービス停止とかecf入れ替えをする事が多く

    サーバーのお客様なら夜間バッチ処理でecf入れ替えなどをするので、

    「明日から新機能は使えます!」とアナウンスする事が多いです。

  • OBR

    確かに夜間バッチだと、業務影響度は低そうですね。ありがとうございます。

    やり方はいくつかありそうなことが分かったので調査してみます。

    大変勉強になりました

  • Permanently deleted user

    uniPaasV1Plusの時の話ですが、1日何回もリリースしていました。何百ユーザもいるのでいちいち止めてられません。

    フローティングライセンスを有効にして、コマンドで新しいインスタンスを起動していました。古いインスタンスはRqRtBlockで止めます。ローリングメンテナンスPDFのやり方だとリリースするたびにユーザ数が消費され現実的ではなかったのでフローティングライセンスにしています。

    ただ、フローティングライセンスの不具合なのかRqRtBlockしたインスタンスのユーザが0になっても自動で落ちない。複数インスタンス起動して負荷分散したいのにブローカはユーザを均等に割り振らない(一か所に集まりやすい傾向)などありました。

    ECF名をマスタに持たせて切替える方法も最初に試しましたが、切り替えたとたん全然関係ないタスクがコールされる怪奇現象が起こったのでやめました。

    全部MSJの人には見せたので、xpa4xでは直っているかもしれませんね。

  • Tanda

    コンテキストの継承の問題のような気がしますね。途中でいきなりインスタンスが変わってしまうと、コンテキストが継承できないような気がします。コンテキストの扱いはuniPaaSの頃とはだいぶん変わってきていますね。

     

  • OBR

    皆さん、ありがとうございます。

    インスタンスを分ける&フローティングライセンスであれば、確かに動的な切り替えはできそうですね。

     

    ちなみに、コール公開名で指定するecfをマスタで切り替えるやり方だと、

    コール元のecfには、旧コール先ecfの情報を保持?しているようになると思っています。

    何となくの感覚ですが、これをやり続けると、コール元のecfに負荷がかかるかなと思っているのですが、どう思いますか?

    (負荷というかキャッシュが多くなるイメージが強いです)

  • Tanda

    今のxpaは、プログラムリポジトリからF7で実行する時でさえ、固有のコンテキストで管理されていますから。

  • Tanda

    ですので、インスタンス間のセッション(コンテキストID)の引っ越しは無理かと想定されますね。uniPaaSの頃と違って。

  • Tanda

    たまたまecfを差し替える瞬間に、誰もプログラムを実行していない状態、つまりコンテキストIDが一つも発行されていないような状態なら可能かもしれませんが、そんなタイミングはラッキーとしか言えない状態だと思います。

  • Tanda

    ちなみに、コンテキストIDによるセッション管理は、今やブローカーモニターで見えるRIAの環境だけでなく、普通のクラサバ環境でも同じ扱いになってきているようです。Magicで作る全てのアプリが、このコンテキストIDで一元管理されるように変化してきているようですね。

  • Tanda

    タスク環境にある「並行実行」という機能も、マニュアルを見るとMagic実行版でしか確認できませんと書いてあるのも、開発版の仮実行環境ですと、複数コンテキストが処理できないからというのがその理由だと思います。

  • OBR

    ありがとうございます。

    やはり入替するには、インスタンス(もしくはサービス)を停止→入替が望ましいわけですね。

    皆さんのおかげで色々な情報が集まったので、一度整理・実験して結論を出したいと思います。

サインインしてコメントを残してください。