Armadilloフォーラム

状態遷移トリガにコンテナ終了通知を利用する

sori_001

2023年9月28日 17時52分

お世話になっております。﨤町です。

状態遷移トリガにコンテナ終了通知を利用するの機能で、
動作中のコンテナの終了をトリガに、スリープモードのモードへの遷移を試しております。

課題として、vscodeの拡張機能の「アプリをArmadilloで実行」によるpythonスクリプトのコピーがスムーズに行えません。
(※極稀なタイミングで動作中にファイルコピーが適用されることはありました。)

スリープから起床したタイミングで「アプリをArmadilloで実行」を実行してみたりしておりますが、
動作中時間が短い(3~8秒:コードの正常終了、エラー発生などで変化)せいか、
「アプリをArmadilloで実行」の処理が完了する前にコンテナが終了してしまうという状況です。

何か良い方法、回避策などありましたらご教示をお願いいたします。

コメント

アットマークテクノの古賀です。

﨤町さん:
>状態遷移トリガにコンテナ終了通知を利用するの機能で、
>動作中のコンテナの終了をトリガに、スリープモードのモードへの遷移を試しております。
>
>課題として、vscodeの拡張機能の「アプリをArmadilloで実行」によるpythonスクリプトのコピーがスムーズに行えません。
>(※極稀なタイミングで動作中にファイルコピーが適用されることはありました。)
>
>スリープから起床したタイミングで「アプリをArmadilloで実行」を実行してみたりしておりますが、
>動作中時間が短い(3~8秒:コードの正常終了、エラー発生などで変化)せいか、
>「アプリをArmadilloで実行」の処理が完了する前にコンテナが終了してしまうという状況です。

お手元の状況が、いまひとつ分かりませんので、いくつか教えてください:

1.) vscode の拡張機能(Armadillo Base OS Development Environment)で作成した Python スクリプト実行用のコンテナの他に、終了通知を状態遷移トリガに使う別のコンテナを動かしていらっしゃるのでしょうか?

2.) (1) が NO の場合、Python スクリプト実行用のコンテナの終了通知を状態遷移トリガに使っていらっしゃるでしょうか?

(1) ではないかと思っているのですが、取り急ぎ確認です。

>何か良い方法、回避策などありましたらご教示をお願いいたします。

もし (1) が YES であり、Armadillo Base OS Development Environment で作成した Python スクリプトの実行確認作業に支障をきたしている、ということであれば、状態遷移トリガを無効にして作業されるのがよいかと思います。

以上、ひとまずのコメントです。

﨤町です。

アットマークテクノの古賀、返信ありがとうございます。
以下回答いたします。

> 1.) vscode の拡張機能(Armadillo Base OS Development Environment)で作成した Python スクリプト実行用のコンテナの他に、終了通知を状態遷移トリガに使う別のコンテナを動かしていらっしゃるのでしょうか?

別のコンテナは動かしておりません。
※既存のa6e-gw-containerは停止しています。

> 2.) (1) が NO の場合、Python スクリプト実行用のコンテナの終了通知を状態遷移トリガに使っていらっしゃるでしょうか?

はい、vscodeの拡張機能(Armadillo Base OS Development Environment)で作成された「python_app」を対象とした「power-utils.conf」を使用しています。
MODE='SLEEP'

こちらも参考にしましたが、
コンテナ内での動作にかかった時間を元にRTCの時間を反映したいため、現在はコンテナ内から「power-utils.conf」を操作しております。
https://armadillo.atmark-techno.com/forum/armadillo/15235

> もし (1) が YES であり、Armadillo Base OS Development Environment で作成した Python スクリプトの実行確認作業に支障をきたしている、ということであれば、状態遷移トリガを無効にして作業されるのがよいかと思います。

案として、コンテナ終了前にコンテナ内から「power-utils.conf」のMODE書き換え(SLEEPからNONE)やファイル自体の削除を検討しておりますが、
他により良い方法(既存機能など)があればと思い質問させていただいた次第です。

アットマークテクノの古賀です。

﨤町さん:
>以下回答いたします。
>
>>1.) vscode の拡張機能(Armadillo Base OS Development Environment)で作成した Python スクリプト実行用のコンテナの他に、終了通知を状態遷移トリガに使う別のコンテナを動かしていらっしゃるのでしょうか?
>
>別のコンテナは動かしておりません。
>※既存のa6e-gw-containerは停止しています。

了解しました。

>>2.) (1) が NO の場合、Python スクリプト実行用のコンテナの終了通知を状態遷移トリガに使っていらっしゃるでしょうか?
>
>はい、vscodeの拡張機能(Armadillo Base OS Development Environment)で作成された「python_app」を対象とした「power-utils.conf」を使用しています。
>MODE='SLEEP'

これについても、了解しました。
その Python スクリプトを、vscode の拡張機能(Armadillo Base OS Development Environment)の "App run on Armadillo" メニューで実行していらっしゃるという認識で合っているでしょうか?

もしそうであれば、その Python スクリプトは、開発途上で完成したものではなく、その動作確認のために vscode をお使いなのだと思います。
その認識で合っているでしょうか?

>こちらも参考にしましたが、
>コンテナ内での動作にかかった時間を元にRTCの時間を反映したいため、現在はコンテナ内から「power-utils.conf」を操作しております。
>https://armadillo.atmark-techno.com/forum/armadillo/15235
>
>>もし (1) が YES であり、Armadillo Base OS Development Environment で作成した Python スクリプトの実行確認作業に支障をきたしている、ということであれば、状態遷移トリガを無効にして作業されるのがよいかと思います。
>
>案として、コンテナ終了前にコンテナ内から「power-utils.conf」のMODE書き換え(SLEEPからNONE)やファイル自体の削除を検討しておりますが、
>他により良い方法(既存機能など)があればと思い質問させていただいた次第です。

Python スクリプトが開発途上なのであれば、開発作業中は、power-utils.conf の MODE を NONE にした状態(トリガを無効にした状態)で作業していただくのがよいと思います。

﨤町さん(2023年9月28日 17時52分):
>スリープから起床したタイミングで「アプリをArmadilloで実行」を実行してみたりしておりますが、
>動作中時間が短い(3~8秒:コードの正常終了、エラー発生などで変化)せいか、

Python スクリプトが終了する前、つまり Python スクリプトのコンテナ(pytohn_app)が終了する前に "App run on Armadillo" すると、現在動作中の、そのコンテナを終了してからコンテナが起動し直されることになるかと思います。そのため、現在動作中のコンテナが終了する際の通知により Armadillo がスリープモードに遷移してしまい、そのために、"App run on Armadillo" の動作が失敗するのだと思います。

ということで、Python スクリプトの開発作業中は、power-utils.conf の状態遷移トリガ動作を無効にする(power-utils.conf の MODE を 'NONE' にする)のがよいです。
いかがでしょうか?

﨤町です。

アットマークテクノの古賀さん、ご返答ありがとうございます。

> その Python スクリプトを、vscode の拡張機能(Armadillo Base OS Development Environment)の "App run on Armadillo" メニューで実行していらっしゃるという認識で合っているでしょうか?
>
> もしそうであれば、その Python スクリプトは、開発途上で完成したものではなく、その動作確認のために vscode をお使いなのだと思います。
> その認識で合っているでしょうか?

はい、ご認識の通りです。

> Python スクリプトが終了する前、つまり Python スクリプトのコンテナ(pytohn_app)が終了する前に "App run on Armadillo" すると、現在動作中の、そのコンテナを終了してからコンテナが起動し直されることになるかと思います。そのため、現在動作中のコンテナが終了する際の通知により Armadillo がスリープモードに遷移してしまい、そのために、"App run on Armadillo" の動作が失敗するのだと思います。

やはりその動きになってしまうのですね。
承知いたしました。

> ということで、Python スクリプトの開発作業中は、power-utils.conf の状態遷移トリガ動作を無効にする(power-utils.conf の MODE を 'NONE' にする)のがよいです。
> いかがでしょうか?

他に回避策はなさそうという認識ですので、ご回答の方法で進めます。

ご回答ありがとうございました。