Rechercher

InterSystems公式
· 2025年1月7日

新增和即将推出的嵌入式 Git 功能

我们已经有一段时间没有在开发者社区上发表关于嵌入式 Git 的文章了,我想借此机会更新一下今年我们完成的大量工作以及未来的工作计划。

背景信息

如果您要在 IRIS 上构建解决方案,并想要使用 Git,那就太棒了! 只需将 VSCode 与本地 Git 仓库结合使用,并将更改推送到服务器上即可,就是这么简单。

但在以下使用场景中该怎么办:

ディスカッション (0)0
続けるにはログインするか新規登録を行ってください
記事
· 2025年1月7日 1m read

データ容量の見積もりについて

これは、InterSystems FAQサイトの記事です。


質問:

データ容量を見積もる計算式はありますか?


回答:

正確に見積もるための計算式は残念ながらありません。

InterSystems IRIS Data Platformの場合、データ部に関してはデータを全て可変長で格納しますので、各フィールドの平均がどのくらいであるかという目安の数字で平均レコード長を求め、キー部分も同様の計算を行い、必要な容量の推測値を求める必要があります。

インデックス部に関してはキー圧縮されますので、データと同じような上記の計算を行った推測値よりは少なくなることが期待できます。 ただしその圧縮率はデータの特性に大きく影響されますので、どの程度少なくなるかは一概には言えません。

実データのサンプル(例えば、1万件のデータ)をロードし、その時点でのサイズを確認して想定される件数分のデータ容量を推測するというのが現実的な方法となります。

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
記事
· 2025年1月7日 1m read

Remove deleted classes after import

When you deploy code from a repo, class (file) deletion might not be reflected by your CICD system.
Here's a simple one-liner to automatically delete all classes in a specified package that have not been imported. It can be easily adjusted for a variety of adjunct tasks:

set packages = "USER.*,MyCustomPackage.*"
set dir = "C:\InterSystems\src\"
set sc = $SYSTEM.OBJ.LoadDir(dir,"ck", .err, 1, .loaded)
set sc = $SYSTEM.OBJ.Delete(packages _ ",'" _ $LTS($LI($LFS(loaded_",",".cls,"), 1, *-1), ",'"),, .err2)

The first command compiles classes and also returns a list of loaded classes. The second command deletes all classes from specified packages, except for the classes loaded just before that.

8 Comments
ディスカッション (8)4
続けるにはログインするか新規登録を行ってください
記事
· 2025年1月7日 2m read

タスク履歴にある「有効期限切れになりました」メッセージの意味と対処法について

これは InterSystems FAQ サイトの記事です。

こちらの記事では、タスク履歴の結果内容に、「タスクは 10 Apr 20xx 12:00:00AM 19 Aug 20xx 12:00:00AM から継続中 に有効期限切れになりました」のようなログがある場合、その意味と対処方法について説明します。


このログは、実行予定のタスクをチェックした際に、時間が対象タスクの有効期限を過ぎてしまったために、表示しているログになります。
有効期限を指定していない場合(※)は、次回タスク予定時刻が有効期限になります。
※有効期限の設定は、^TASKMGRユーティリティから行うことができます。


例えば、毎分実行予定のタスクスケジュールがあった場合、実行タスクの実行時間が1分を超える場合、仮に130秒とする場合、1分後と2分後に予定していたタスクスケジュールは実行することができなかったことになります。
この場合、3分後のタスクスケジュール以降実行されることになり、実行されなかったタスクは、「タスクが次のスケジュール時刻を過ぎても実行を続けています」とログされ、次に正常に実行できたタスクの後に「タスクは YYYY-MM-DD hh:mm YYYY-MM-DD hh:mm から継続中 に有効期限切れになりました」のようにログされます(タスク履歴へ)。

タスクが何らかのエラー等が原因で終了した場合は、タスクは一時停止状態(Suspended)になり、再開(Resume)しなければ以後は動作しません。タスクを再開した場合、以前のタスクは有効期限が切れてしまったことになりますので、上記の例と同様に有効期限切れのログが残ります。


なお、「有効期限切れになりました」ログの原因を取り除かない限り、ログは出力し続けて同じ状態が続くことになります。
このログが出力されるような場合は、タスクスケジュールの見直しや、実行タスクの見直し(エラー終了の場合)等で、原因を排除するようにしてください。
 

enlightened【ご参考】
エラー解消後もジャーナル切り替えタスクの状態が Suspend Leave になっている場合の対処方法

ディスカッション (0)0
続けるにはログインするか新規登録を行ってください
質問
· 2025年1月7日

is it possible to kill the hl7 message in data transformation

Hello,

is it possible to kill/suppress hl7 message in the DTL (data transformation).

in cloverleaf, it is common practice to check the value in message, for example pv1:7.9. if the value is certain word(assigning authority) then send the message over to destination, if it is not, kill the message

how would this be done in InterSystems ? does that need to be done in the rule instead? or can it be done in the data transformation? if it can be done in data transformation, how can it be done? 

Thanks

4 Comments
ディスカッション (4)1
続けるにはログインするか新規登録を行ってください