文章 姚 鑫 · 九月 15, 2022 3m read

第三十三章 管理许可(六)

应用许可

应用程序许可使应用程序合作伙伴能够利用 的许可功能来实现自己的许可目的。 IRIS 像管理自己的应用程序许可证一样管理客户应用程序许可证,维护使用计数并根据需要获取和返回用户许可证。当进程退出、停止或从进程表中删除时,或者当 Web 会话超时或被删除时,进程或 Web 会话使用的应用程序许可证与进程或会话使用的 许可证一起自动释放。

应用程序许可证只是标准 格式的文件或此类文件的一部分,包含标识应用程序的部分标题和一些对,在许可证中是唯一的,代表许可的功能。任何格式正确的应用程序许可证都可以在运行时由应用程序加载到 IRIS

应用程序许可 包括使应用程序能够代表用户使用和返回许可证的方法和查询,以及使程序能够获取有关应用程序和功能许可的信息,包括正在使用和仍然可用的许可证数量。

加载应用程序许可证

实例可以在应用程序运行时使用 $SYSTEM.License.LoadAppLicenseFile 方法加载和激活任何应用程序许可,该方法记录在 %SYSTEM.License 的类参考中(请参阅应用程序许可 API)。以这种方式加载的应用程序许可证与活动的 许可证无关,但由 实例独立跟踪。

每个应用程序许可证都包含在以 开头的部分中;应用程序名称

0
0 124
文章 Michael Lei · 九月 15, 2022 3m read

InterSystems IRIS是一个伟大的数据平台,它满足了当前市场所需的功能。在这篇文章中,你可以看到我心目中的前10大功能:

排名  特性 原因 了解更多
1 互操作性, FHIR 和物联网 商业机构之间需要持续互联和交换数据。各个业务部门之间也需要加强协作来将本增效。实现协作的最佳技术是IRIS的互操作工具包,尤其是 服务总线ESB, 集成适配器,业务流程自动化引擎,数据转化工具以及例如FHIR和MQTT等。

Link 1

Link 2

Link 3

2 API 管理器 大家通过API来消费数字资产。API需要在一个中心点管理其重用、安全、消费、资产目录、开发者生态系统和其他方面。API管理器是实现这一目标的正确工具。因此,所有的公司都有或希望有一个API管理器。 Link
3 数据分片 据预测,全球创造、捕获、复制和消费的数据总量将迅速增加,在2020年达到64.2 zettabytes。在接下来的五年里,直到2025年,全球数据创建量预计将增长到180兆字节以上。在2020年,创造和复制的数据量达到了新高(来源:https://www.statista.com/ statistics/871513/worldwide-data-created/)。在这种情况下,能够以分布式的方式处理数据(进入数据分片,如hadoop或mongodb),以提高和保持性能,对企业至关重要。
0
0 402
文章 Michael Lei · 九月 15, 2022 5m read

Spring Boot 是最常用来创建 REST API 和微服务的 Java 框架。 它可用于部署 Web 应用程序、可执行 Web 应用程序或桌面自包含应用程序,其中应用程序和其他依赖项打包在一起。 Spring Boot 允许执行许多功能,请参见:

注:要了解有关 SpringBoot 的信息,请参见官方网站 - https://spring.io/quickstart

要创建具有一个或多个微服务的 Web api 应用程序,可以使用 Spring IDE for Eclipse/VSCode,并使用向导配置上述将在应用程序中使用的技术,请参见:

您可以选择技术并创建项目。 所有技术都将通过 maven 导入。 它就像一个可视化的 zpm。

所创建的项目有一个类用于为应用程序提供支持,其中包含所有所需内容(Web 和应用程序服务器,以及所有依赖项、微服务概念)。

此项目的完整源代码在以下 open exchange 项目中: https://openexchange.intersystems.com/package/springboot-iris-crud

首先要配置 IRIS JDBC 驱动程序和 IRIS Hibernate 支持,为此,请将 jar 文件复制到 resources 文件夹,请参见:

打开 pom.

0
0 946
文章 Michael Lei · 九月 15, 2022 4m read

关于微服务架构(MSA)的IRIS定位的初学者指南。MSA在企业级Java世界中的能见度越来越高,因此,了解这股热潮背后的内容是至关重要的。我尝试着写下我的观点并与大家分享。

背景

首先,我必须承认。今年初夏,我的同事要求我收集一些关于匈牙利开发的医疗产品的信息。当我从相关公司得到反馈时,发现该产品是一个模块化系统,基于微服务架构(MSA)。好的。什么是MSA?在网上做了简短的研究,阅读了一些WIKI网页后,我得出结论:啊哈,又是一个 "架构"。我们可以用IRIS在 "架构层面 "遵守 "任何架构"--至少 "在某种程度上"。但也有一些恼人的地方。这让我对MSA有了更多的了解。到目前为止还不错,但是REST不是这篇文章的主要话题吗?MSA和REST之间的关系是什么?我访问的几乎每个网站都在例子中使用了RESTful网络服务。这让我有点怀疑。但总的来说,我赞同对MSA的一般总结:它是SOAP但做得很好。特别是因为有一些关于 "内聚 "和 "耦合 "的句子,我完全不明白。那么,如果MSA只是 "SOAP做得好",为什么我没有看到SOAP的例子?为什么这些例子(几乎)都是RESTful?

在这个问题之前,对我来说,"REST "是一个使用JSON序列化数据交换的网络服务,通过HTTP传输。但是在那个时候,我脑子里有太多的问题,因此我开始阅读REST文献。很快我就找到了起源。

0
0 397
文章 Michael Lei · 九月 15, 2022 6m read

如果你读了我之前介绍QEWD微服务的文章,希望你会渴望了解如何使用它们。  所以在这篇文章中,我将解释你需要知道的东西,以便开始使用。

如果你在QEWD资源库中,你会发现目录: 

  https://github.com/robtweed/qewd/blob/master/example/jwt

在我之前关于JSON网络令牌(JWTs)和QEWD的文章中,我用这个示例应用程序来解释如何使用JWTs。  这个示例应用程序还演示了如何设置一个简单的微服务,在这种情况下是一个处理用户认证的服务。  所以,现在让我深入了解一下这个例子应用程序的这方面内容。

如果你想使用QEWD微服务,你也必须使用JWTs--它们提供了一种方法,用户的认证和会话可以被多个独立的QEWD服务器交叉通信和处理。  因此,请看一下启动文件:

   https://github.com/robtweed/qewd/blob/master/example/jwt/startup_file/q….

0
0 409
文章 姚 鑫 · 九月 14, 2022 6m read

第三十二章 管理许可(五)

Identifying Users

IRIS 许可系统识别不同的用户并为每个用户分配一个许可单元。用户由许可证用户 ID 标识,该 ID 可以是 地址、用户名、 会话 ID 或其他标识符,具体取决于用户的连接方式。

由单个用户启动或为单个用户启动的多个进程共享一个许可证单元,最多可达每个用户的最大进程数。如果进程数超过此最大值,则会发生转换 IRIS 开始为该用户 ID 的每个进程分配一个许可单元。系统假设如果与用户 关联的进程数超过最大值,则多个用户正在通过中介(例如防火墙系统)访问 ,因此需要额外的许可证单元。 (由 命令启动的进程计入调用该命令的用户 下。)

即使用户 下的进程数回落到最大值以下, 仍会继续为该用户 的每个进程分配一个许可单元。只有当用户 的所有连接都关闭并且用户 下没有更多进程时,许可证分配才会重置为该用户 的一个单位。

通过名称识别用户的应用程序消除了与使用基于客户端 IP 地址、 会话 ID 或其他连接派生用户 的默认用户 相关的问题。

例如,当使用防火墙或终端服务器软件时, 无法区分连接用户,因此它依赖于最大连接转换规则。使用来自同一客户端的混合连接也使得无法使用自动 创建适当地计算用户数。

当用户名用作许可证标识符时,这些问题就消失了。

0
0 141
文章 shaosheng shengshao · 九月 14, 2022 2m read

研究Healthshare2018在已经安装完成使用的情况下,部署IIS,并代理平台。之前看到可以通过单独的CSP Gateway安装包进行处理这种问题,该文主要是获取不到该安装包的时候可以如何实现IIS的处理。

第一步:首先按照网上教程部署IIS服务。安装完成之后会在C盘创建一个名叫intepub的包。

第二步:在inetpub包下面直接插入CSPGateway 。这个包是在其他先安装IIS下,后安装Healthshare的CSP网关服务的时候在inetpub下面自动插入的包,直接找一个复制过来。

第三步:打开IIS,创建一个叫csp的网站,按照下图配置。

 第四步:在点击模块进行CSPms模块的添加。
 

接下来是配置好的CSPms的模块。

注意:我们从图中看到的CSPms模块是本机继承的模块,我们在右边添加本机模块的时候并不能找到C:\inetpub\CSPGateway\CSPms.dll这个模块,导致加不进去。那我们就直接在配置文件上面改。找到C:\Windows\System32\inetsrv\config该文件路径下的applicationHost.config文件,为了稳妥起见,我们先备份一下该文件。
找到<globalModules>节点,在下面加入<add name="CSPms" image="C:\Inetpub\CSPGateway\CSPms.

1
0 590
文章 Tete Zhang · 九月 14, 2022 5m read
  1. 从消息查看器看到清除周期以外的消息没有被正常清除

这种情况先抽查这些消息所处的会话中是否有未完成操作周期的消息(状态为除“Completed”“Error”“Discarded”之外的状态)。如有,且定期清除任务配置了“KeepIntegrity”,且该环境并不需要保留这些消息,可通过关闭清除任务中的“KeepIntegrity”配置清除这些会话和包含的消息。如果有这类消息,但是定期清除任务未配置“KeepIntegrity”,可能是定期清除任务的逻辑或消息数据问题导致清楚任务查找的时候没有覆盖这些消息,请联系WRC帮助排查具体原因。

有关定期清除任务的更多信息请参见文档

Purging Production Data | Managing Productions | InterSystems IRIS for Health 2022.1

  1. 从消息查看器看不到清除周期之外的消息,但是^%GSIZE显示有global占据了很大的磁盘空间

这种情况需要具体排查每个较大的global。可能有以下原因:

  • 系统定义的global占用很大空间。您可以联系WRC帮助排查具体原因。
  • 自定义的global占用很大空间。这可能是消息中嵌套的持久化数据或流数据,或者是和消息没有直接关系的独立的表里面的数据。请对创建这种global的代码进行复盘,找到创建逻辑并增加相应的数据管理逻辑。
0
0 274
文章 Tete Zhang · 九月 14, 2022 2m read
  1. 系统文件

系统文件根据版本不同,大约会占用1GB左右的空间。这部分空间是不能省略的,随意删除文件会导致实例无法正常运行。

  1. 备份文件

备份文件应及时转存到另外的磁盘或磁盘分区上,不应与.DAT数据库占用相同的磁盘分区。

  1. Journal日志

Journal日志文件存储路径应设置为与.DAT数据库存储路径不同的磁盘或磁盘分区上,不应与.DAT数据库占用相同的磁盘分区。

  1. 消息存储

因为HSHC集成平台设计上不支持过多的消息存储,用户应该为每个有消息流量的命名空间配置定期消息清除任务。

定义消息清除任务时 “BodiesToo”默认是没有选择的,需要手动选择。系联软件研发核心认为我们的软件不能在客户不知情的情况下自动删除客户自定义的数据,消息也属于客户自定义的数据,所以默认选项只会删除Message Header,不会删除消息本身。但是保留默认值运行清除消息任务就会导致孤立消息(指不存在配套Message Header的消息对象)的问题。BodiesToo=0也是孤立消息产生的主要原因之一。有关孤立消息的常见问题会在之后的文章做进一步讨论。

另一个消息清除任务选项“KeepIntegrity”默认是打开的。如果您需要保留“Queued”,“Suspended”,“Deferred”等未完成所有操作的消息,请保持打开。如果不需要可以关闭。

0
0 349
文章 姚 鑫 · 九月 13, 2022 4m read

[toc]

第三十一章 管理许可(四)

显示本地许可证信息的方法

下面列出的子例程转储实例共享内存中本地包含的许可证表的内容。一般来说,他们识别客户:

$System.License.DumpLocalAll 将所有本地许可证表条目转储到当前目录中的 all.dmp 文件中:

USER> Do $System.License.DumpLocalAll()
 
25 条目转储到 c:\intersystems\irishealth\mgr\user\all.dmp

文件的内容示例:

image

$System.License.DumpLocalInUse 将所有正在使用的本地许可证表条目转储到当前目录中的 inuse.dmp 文件:

USER> Do $System.License.DumpLocalInUse()
 
2 条目转储到 c:\intersystems\irishealth\mgr\user\inuse.dmp

文件内容示例:

将进程 使用的本地许可证表转储到当前目录中的 文件中:

USER> Do $System.License.DumpLocalPID()
 
33 条目转储到 c:\intersystems\irishealth\mgr\user\piduse.dmp

显示许可证服务器信息的方法

以下子例程转储许可证服务器维护的许可证表的内容。

0
0 141
文章 Michael Lei · 九月 13, 2022 1m read

医疗科技市场正处于强劲的演变之中。Gartner的医疗科技的波浪图展示了这些技术是什么,非常好地反映了医疗行业的数字化趋势。

其中很多技术都可以使用InterSystems的技术(ISC Health Tech)来实现:

知情同意管理使用InterSystems Healthshare Stack来做患者主索引和知情同意管理。

0
0 162
文章 Michael Lei · 九月 13, 2022 9m read

 

Globals是InterSystems IRIS的数据持久性的核心。它很灵活,允许存储JSON文档、关系数据、面向对象的数据、OLAP立方体和自定义数据模型,例如思维导图。要了解如何使用globals来存储、删除和获取思维导图数据,请遵循以下步骤:

1. 把repo Clone/git到任意本地目录

$ git clone https://github.com/yurimarx/global-mindmap.git

2. 在该目录下打开Docker 终端并执行:

$ docker-compose build

3. 启动 IRIS 容器:

4. 访问 http://localhost:3000 来使用思维导图的前端并创建类似以上的思维导图

本例子的源代码

存储数据 (更多请访问: https://www.npmjs.

0
0 298
问题 liu bo · 九月 12, 2022
//迭代取值
IRISIterator subscriptIter = irisNative.getIRISIterator("^liubo.clazz.personD");
System.out.println("================迭代开始===================");
while (subscriptIter.hasNext()) {
    String subscript = subscriptIter.next();
    //此处怎么获取此节点的字符串进行解析呢,另外java可以直接访问ensemble的global么

    System.out.println(node);

}
3
0 280
公告 Michael Lei · 九月 12, 2022

如果你在你发布在应用市场上的应用程序中使用代码质量分析器,这将显示在Open Exchange上。

1. 在Open Exchange 应用市场主页面,你可以过滤所有通过ObjectScript质量测试的应用程序

2. 在公众的应用页面(例子),你会在信息框中看到:

3. 在你管理应用程序的页面上,你会看到质量检查状态。

没有数据 - 如果质量检查没有安装在你的 repo 中
通过 - 如果代码通过了测试
失败--如果测试失败。这不会显示在公共应用程序页面上。

现在你可以在Open Exchange社区的objectscriptQuality上找到要添加到你的 repo中的文件。

0
0 151
文章 Michael Lei · 九月 12, 2022 1m read

针对InterSystems开发者社区的分析。使用InterSystems IRIS BI (DeepSee)、Power BI和Logi Report Designer制作的项目,可视化并分析InterSystems 开发者社区上的成员、文章、问题、答案、观点和其他内容和活动。

你可以看到自己的活动、文章和问题。跟踪你的贡献如何改变开发者社区。

使用IRIS BI、Adaptive Analytics、InterSystems Reports、Tableau和Power BI分析关于你和你朋友的统计数据。

该项目包含预配置的IRIS和Atscale在Docker容器中的部署以及BI系统的项目文件。

更多细节信息请见相应应用的README。

这个项目也支持在线部署,你可以在这里查看。

0
0 135
文章 Michael Lei · 九月 12, 2022 1m read

Hi 我在线部署了一个demo演示:

https://production-monitor.demo.community.intersystems.com/csp/user/EnsPortal.ProductionConfig.zen?PRODUCTION=dc.Demo.Production#

我更新了几个设置(文件路径和URL),并将调度类切换到dc.rest.GenericService。

我从文件服务重新发送了消息。我看到授权Auth和API服务都收到了消息。

API进程(还)没有返回所需的响应。更多内容请继续关注...

0
0 175
文章 王喆 👀 · 九月 12, 2022 2m read

  大家都用过IRIS的消息查看器吧,其实这个页面有一个隐藏的功能,就是显示【显示查询】,如图所示:

那么这个东西是如何打开的呢?如果一句话概括就是: Terminal下输入: Set ^Ens.Debug("UtilEnsMessages","sql")=1,这个也是打开这个功能的思路,下面是详细的说明。

开启功能的步骤:

    1、进入Terminal,输入用户名\密码;

  2、进入需要打开显示查询的命名空间:如 zn "BKIP"

  3、执行 【Set ^Ens.Debug("UtilEnsMessages","sql")=1】打开显示查询。

打开消息查看器页面刷新:

成功!!! 

他有什么作用呢?举个栗子,当我修改基本条件为会话开始,点击【搜索】然后再点击【显示查询】

可以看到刚才在页面点击的操作生成了SQL并且显示在新的弹框里面了 すごい(四个一)。

基于此我们能做什么呢?

0
0 458
文章 Qiao Peng · 八月 23, 2022 6m read

任何技术总是有些自己独特的术语,尤其是一些英文术语,对于新的用户来说往往即陌生又迷惑。这里整理了一下常听到的InterSystems术语,帮助大家尽快进入InterSystems技术圈子。

名词 说明
Arbiter 仲裁器。用于在mirror高可用集群里辅助判断主备机成员状态,提高高可用集群的有效性
Atelier InterSystems开发的基于Eclipse的IDE,可以单独部署、也可以嵌入Eclipse
bitmap索引 位图索引。以位图方式保存的枚举类型数据的索引,用于高性能查询
bitslice索引 位片索引。用位图方式对数值型数据建立的索引,用于高性能查询
Buttons Cache'数据库上的诊断报告工具。历史上,InterSystems曾经提供一个routine,名为^Buttons,用于收集系统数据用于诊断。虽然后来这个工具已经被放在%SYS.Task.DiagnosticReport类中,但大家还是习惯称之为buttons
cconsole log Cache'数据库的控制台日志文件,记录通用信息、系统错误、特定操作系统错误、网络错误等。
1
2 466
文章 姚 鑫 · 九月 11, 2022 5m read

第二十九章 管理许可(二)

激活许可证密钥

IRIS 使用许可证密钥来确保其注册站点的正常运行、定义可用容量并控制对 IRIS 功能的访问。 许可证密钥以许可证密钥文件的形式提供,通常命名为 iris.key

安装 后,使用以下程序激活许可证密钥。始终可以使用相同的过程为任何已安装的实例激活新的许可证密钥(即升级密钥)。可以激活放置在管理门户可访问的任何位置的许可证密钥;作为激活的一部分,许可证密钥将作为 复制到实例的 install-dir/mgr 目录(如果尚未命名)。

注意:也可以在 安装期间选择许可证密钥。执行此操作时,许可证会自动激活,并且许可证密钥会作为 复制到实例的 install-dir/mgr 目录中;不需要此处描述的激活过程。

本节还讨论了许可证故障排除和在所有许可证单元都在使用时从操作系统命令行升级许可证。

要激活许可证密钥,请使用以下过程:

  1. 导航到许可证密钥页面(系统管理 > 许可 > 许可证密钥)。将显示有关当前活动许可证密钥的信息。如果尚未激活任何许可证,则会显示这一点,例如通过标记客户名称:缺少许可证或不可读。此页面包含一个打印按钮,可让轻松打印显示的信息。

  2. 单击激活许可证密钥并浏览到要激活的许可证密钥文件。

0
0 291
文章 姚 鑫 · 九月 10, 2022 4m read

[toc]

第二十八章 管理许可(一)

配置许可

每个 IRIS 实例维护其许可证容量和当前使用的独立本地视图,并且每个实例都需要访问许可证密钥。可以在每个实例上安装和激活本地许可证密钥文件。或者,如果要管理多个实例,可以配置许可证服务器来管理存储在中央位置的密钥文件,然后它可以将其分发到其他实例。在这种情况下,必须为每个实例配置密钥文件的 LicenseID,以便它可以在启动时检索密钥的副本。

多服务器许可证可以在同一台机器或不同机器上的协作实例之间共享。仅允许使用多服务器密钥进行共享。要使用多服务器许可,必须配置一个或多个 IRIS 许可服务器来分配密钥授权的 许可单元。共享密钥的所有实例都必须配置为使用相同的许可证服务器或一组许可证服务器。许可服务器可以在运行 IRIS 实例的任何计算机上运行。监控进程向许可服务器发送更新消息,当多个实例共享一个许可时,许可服务器协调许可分配。

许可证服务器协调在每个实例中本地维护的许可证使用视图。许可证服务器不是 进程;如果 实例关闭,则不受影响。一台许可证服务器可以处理多个实例。因此,无论一台主机上运行多少个 IRIS 实例,每台主机最多需要一个。但是,每个 实例都必须安装授权许可密钥文件的本地副本。

如果在多台主机上运行 服务器,可以配置多个许可证服务器以提供冗余。

0
0 128
文章 姚 鑫 · 九月 8, 2022 2m read

第二十六章 使用任务管理器(四)

导入任务

导入任务页面(系统操作 > 任务管理器 > 导入任务)允许通过浏览到先前导出的任务文件,然后单击立即执行操作来导入和运行任务。

注意:任务只能从运行相同版本的 IRIS 的实例导入或导出。

使用 ^TASKMGR

^TASKMGR 例程允许使用终端配置任务管理器。除非另有说明,^TASKMGR 和管理门户包含用于配置任务的相同选。

  1. 打开终端。
  2. 输入 set $namespace = "%SYS" 以更改为 %SYS 命名空间。
  3. 输入。

具体类 %SYS.Task

image

更改任务过期行为

默认情况下,所有任务都配置为在错过预定时间时过期。发生这种情况的原因有很多;例如,当 IRIS 在计划时间内关闭时,或者如果任务的上一次运行超出下一次计划时间。当任务到期时,它不会运行,直到下一个计划时间。

例程包含更改此行为的选项,以便从不跳过计划的运行。为此:

  1. 打开终端。
  2. 输入 以更改为 %SYS 命名空间。
  3. 输入do ^TASKMGR
  4. 选择选项 2。
  5. 输入要编辑的任务编号。
  6. 按 保存每个选项的默认值,直到到达 Task Expires?
  7. 输入

或者,可以指定一个宽限期,这样任务在错过后不会立即过期。相反,任务管理器会尽快运行错过的任务。要调整特定任务到期的宽限期:

  1. 打开终端。
  2. 输入 以更改为 命名空间。
  3. 输入。
  4. 选择选项 。
0
0 134
问题 water huang · 九月 2, 2022

最近遇到一个问题,需求是把大量的数据写入到第三方数据库oracle,目前用的是 EnsLib.SQL.OutboundAdapter 方案,但是感觉队列很容易卡死,不知道是什么原因。然后想换成  set res = ##class(%ResultSet).%New("%DynamicQueryGW:SQLGW") 这种方式执行插入和更新。但是它返回的错误是网关调用失败,我希望得到具体的错误,我用这个对应额sql语句去 navicat执行就能提示出明确的错误!有大佬处理过类似的问题吗?有更好的方案吗?

1
0 283
文章 姚 鑫 · 九月 7, 2022 2m read

第二十五章 使用任务管理器(三)

任务计划

任务计划页面(系统操作 > 任务管理器 > 任务计划)列出了所有计划任务。可以通过单击任何列标题对表中的信息进行排序。可以通过单击适当的选项查看详细信息或历史记录以及运行计划任务:

  • 任务名称 — 让查看有关任务的详细信息并对其执行操作。
  • 历史 — 显示任务的历史。
  • 运行 — 让运行任务。运行任务向导显示任务名称和 ID,以及任务运行的日期和时间;单击立即执行操作以确认信息并安排任务。

任务详情

要显示有关计划任务的详细信息并对其执行多项操作之一,请单击任务名称列中的任务名称。任务详细信息页面显示有关所选任务的信息和执行详细信息。可以通过单击相应的按钮对任务执行以下操作之一:

  • 编辑 — 使用任务计划程序向导更改任务定义和计划。
  • 历史 - 查看任务的历史。
  • 恢复/暂停 — 暂停任务/恢复暂停的任务。
  • 删除 — 永久删除任务。

注意:不能删除系统任务。

  • 导出 — 将任务导出到稍后可以导入的文件,包括由另一个 IRIS 实例导入。

  • 运行 — 安排任务。单击运行时,运行任务向导页面会显示任务名称和 ID,以及任务将运行的日期和时间;单击立即执行操作以确认信息并安排任务。

注意:在任务运行时,描述的某些操作不可用。

计划任务历史

要显示有关单个计划任务的历史信息,请单击项目行中的历史链接。任务历史记录页面显示所选任务的详细历史记录。

0
0 136
文章 Jingwei Wang · 九月 6, 2022 4m read

在Windows中,InterSystems IRIS 会将Python引擎一起安装在安装目录中,可以将Python的代码在InterSystems IRIS内核中运行,允许Python代码与ObjectScript代码混合运行,以获得最佳开发性能。一般基于UNIX的操作系统会自带一个Python,所以不会随InterSystems IRIS安装包自动安装Python引擎。

InterSystems IRIS 2021.2 以上的版本中才支持Embedded Python,其余版本不支持使用Embedded Python

步骤 - Windows

  1. Microsoft Windows 上安装InterSystems IRIS 2022.2版本
    • Python 引擎同InterSystems IRIS 安装包安装在C:\InterSystems\IRISHealth\lib\python 文件夹下(如果使用默认安装路径)。
    • 在C:\InterSystems\IRISHealth\lib\python 文件夹下,查看Python的版本,版本应为Python 3.9.
0
0 830
文章 姚 鑫 · 九月 6, 2022 4m read

# 第二十四章 使用任务管理器(二)

本节介绍在创建或编辑任务时可以选择的预定义任务类型。某些任务只能从某些命名空间获得。

IRIS 包括许多默认运行的任务。此表记录了这些默认值,可以从“任务计划”页面进行编辑。

注意:可以使用 `%SYS.Task.DefinitionAPI` 定义自己的任务类型。

任务类型|对应的默认任务| 描述
---|---|---
CheckLogging |检查记录活动——每晚运行;两天后发送警报。|检查日志记录机制(例如 `^ISCSOAP`)是否没有意外运行。在 `DaysForAlert` 天后创建警报,并在 `DaysForShutoff` 天后关闭日志记录。
CleanSQLIndex |清理 `SQL` 语句索引 — 每小时运行一次。| 清理过时的 `SQL` 语句索引条目。
CumuIncrDBList|`None` |运行已定义列表中数据库的累积备份。
DiagnosticReport|诊断报告 — 按需运行。|收集并向 WRC 提交诊断报告。
FullAllDatabases | `None`|运行所有数据库的完整备份。
FullDBList|`None`|运行定义列表中的数据库的完整备份。
IncrementalDBList|`None`|运行已定义列表中数据库的增量备份。
IntegrityCheck|完整性检查 — 默认禁用。

0
0 207
文章 Louis Lu · 九月 5, 2022 3m read

原文可见 这里,原作者 Robert Cemper

我们在SQL中的经常被提到视图VIEW,基本上是一段预先设计好的SQL语句,它也像任何其他SQL查询语句一样执行和组装。

而物化视图MATERIALIZED VIEW意味着查询的内容是预先收集的,这些数据可以相当快地进行检索。

我第一次看到这个概念是和我最喜欢的竞争对手O* 一起的,他们对此功能发出了很多的声音。

然而在Caché/IRIS中,这种功能几乎是一早就存在的,我们认为这是很正常的普通功能。只是我们大多数开发人员只是没有意识到这一点,只要稍加润色,它就可以作为一个优秀的特性呈现出来。 此外,任何更新和维护都是作为内置的能力进行的,无需开发人员任何额外的工作。

看下面的例子:

在我们的Sample.Person类中,我们可以定义一个索引

/// Define an index for <property>Name</property>.;

正如我们预想的那样,在执行下面的查询时,它会非常的快

SELECT ID, Name, Home_State, SSN   from Sample.Person

因为这个查询所涉及到的内容都来来自索引global ^Sample.PersonI("NameIDX"),并没有一点对原数据global的加载。

这就是基本的物化视图

0
0 289
文章 姚 鑫 · 九月 5, 2022 4m read

第二十三章 使用任务管理器(一)

要访问任务管理器,请导航至系统操作 > 任务管理器。

还可以使用终端与任务管理器进行交互,如使用 ^TASKMGR 部分所述。

注意:任务管理器每 60 秒轮询一次以查看是否有要运行的任务。当单击立即执行操作来安排任务时,在新安排的任务实际运行之前可能会有长达 60 秒的延迟。

新任务

新任务选项启动任务计划程序向导。此工具允许安排新任务运行。

注意:还可以使用任务计划程序向导通过从“任务计划”页面选择现有任务来编辑现有任务。

  1. 在任务计划程序向导的第一页上,提供有关新任务的以下详细信息:
  • Task name
  • Namespace to run task in - 从定义的命名空间列表中选择要在其中运行任务
  • - 从列出的任务中进行选择。

注意:根据所选的任务类型,可能会看到一个表格,在其中指定附加信息;例如,如果正在安排 ,表单会提示输入目录、文件名和 KeepDays(保留文件的天数)。

  1. 任务优先级 - 从优先级正常、优先级低或优先级高中选择。
  2. 以该用户身份运行任务 — 从定义的用户列表中选择。要选择与登录时不同的用户,必须具有 %Admin_Secure:Use 权限。

注意:如果所选用户被禁用,任务将暂停,直到用户被启用并手动恢复任务。这不适用于内置系统任务,即使所选用户被禁用,这些任务也会运行。

0
0 146
公告 Claire Zheng · 九月 5, 2022

亲爱的社区开发者们,

我很高兴地向大家介绍一位我们的新版主 @Tete Zhang (张特特)!

@Tete Zhang (张特特)目前任职于InterSystems中国,在WRC部门任职资深技术支持专家一职。

以下是@Tete Zhang (张特特)的自我介绍:

在2015年夏天实习结束后,我于2016年正式作为技术支持工程师加入InterSystems,从那时起,我在InterSystems全球支持中心北美分部工作了六年,2022年,我调职至北京,服务于InterSystems中国,希望能为成长中的中国市场出一份力。

很高兴可以在社区与大家相遇,希望能与大家一起努力,创造更精彩的社区!

0
0 216
文章 姚 鑫 · 九月 4, 2022 2m read

第二十二章 控制进程(三)

挂起或恢复进程

如果不确定某个进程在做什么并想要进行调查,或者如果一个更重要的进程正在尝试运行并且需要 CPU 周期,可能希望暂停该进程。要从管理门户访问此选项:

  1. 显示进程页面(系统操作 > 进程)。
  2. 单击相应进程行中的详细信息。
  3. 单击选项栏上的挂起。

可以随时通过单击同一页面中的恢复来恢复暂停的进程。

终止进程

如果某个进程无响应或正在影响其他进程或用户,可能希望终止该进程。要从管理门户访问此选项:

  1. 显示进程页面(系统操作 > 进程)。
  2. 单击相应流程行中的详细信息。
  3. 单击选项栏上的终止。

或者,要在进程终止时记录进程的状态,请选中 Terminate with RESJOB Error 复选框。

注意:默认情况下启用此选项。

  1. 单击“是”以确认您要终止该进程。无法恢复已终止的进程。

显示进程变量

Process Variables 页面显示了在选定进程中使用的所有变量,给出了全局名称和全局值。要从管理门户访问此信息:

  1. 显示进程页面(系统操作 > 进程)页面。
  2. 单击相应进程行中的详细信息。
  3. 单击选项栏上的变量。

向终端广播消息

可以向与选定进程或所有进程关联的终端广播消息;此实用程序很有用,例如,要求人们注销系统。但是,必须小心使用它,否则可能会导致消息出现在当时可能正在打印的报告中间。

该实用程序在发送消息时临时控制每个终端。一旦终端接收到消息,前面的过程将继续。

0
0 136
公告 Claire Zheng · 九月 4, 2022

嗨,开发者们!

秋高气爽之际,我们很高兴地宣布启动🏆InterSystems开发者社区中文版首届技术征文大赛 🏆(←点击链接进入参赛页面,浏览所有参赛文章)!

从2022年9月5日-10月24日(北京时间),欢迎热爱InterSystems技术的你来投稿,撰写与InterSystems技术相关的文章。

🎁参与奖 我们为每一位成功参赛的作者准备了礼品!

🏆优秀文章大奖 Apple iPad; Beats Fit Pro; HUAWEI WATCH; Logitech键盘; WD固态硬盘;KEEP智能手环

0
0 420