hosts(n,h s;j)

阅读(171) 标签: 分机, 内存区号, 分机序列,

描述:

返回可用的分机序列。

语法:

hosts(n,hs;j)

备注:

在分机序列hs中找出任务j的内存区号返回值为1,…,n的可用分机序列。

有缺失者则在hosts()为空的分机用相应缺失值执行初始化(init.dfx),找不到足够多分机返回空。

n==0时返回可用分机,不可用分机的位置填成null

参数:

n

分机总数。

hs

分机序列。

j

任务名称。

返回值:

分机序列

示例:

分机192.168.46.1init.dfx参数设置:

 

分机192.168.31.39init.dfx参数设置:

 

init.dfx脚本内容:

 

A

B

 

1

if i>0

 

 

2

 

=file("emp.ctx":i)

分机192.168.46.1192.168.31.39的主目录下分别存放了1.emp.ctx 2.emp.ctx文件。

3

 

=B2.open().cursor().fetch()

 

4

 

>env(EMP,B3)

B3的返回结果保存到全局变量EMP中。

启动分机192.168.46.1:8281192.168.31.39:8281,查找可用分机序列,使用内存区中的数据执行计算:

 

A

B

 

1

[192.168.46.1:8281,192.168.31.39:8281,192.168.46.1:8282]

 

 

2

=hosts(2,A1;"task1")

 

从分机序列A1中返回任务名称为task1 、内存区号为12的分机序列。

3

if A2!=null

 

判断A2执行后是否能找到足够的分机,找不到足够的分机则会返回null

4

 

=memory(A2,EMP)

使用各个分机内存区中的全局变量EMP共同构成集群组表。

5

 

=B4.cursor().fetch()

查询集群组表中的数据。

6

else

 

 

7

 

>output("ERROR!")

 

8

=hosts(0,A1;"task1")

 

参数n0,返回所有可用分机,不可用分机位置填为null