with $ZF(-1,command) you are at OS level. Nothing prevents you from extending command to a script that writes its pid in a file. using $JOB_".pid" or similar as file name should be enough to identify it. So after a moderate HANG your pid should be available.
I prefer this to using pipes or other sophisticated solutions (e.g. listening on a TCP/IP or UDP port, ...) as you get an embedded trace for free
II just visited your post. The hidden expectation is: ISC knows it better. This might fit in average. But there are other people like you that are at least as well qualified as ISC specialists are. What's your label ? And thinking on nodes.js I have my personal preferences outside ISC . I have no problem if i'ts done but I'm not enthusiastic about.
so my shot from the hip: selection expression - $select(), $case() where you get a value based on a condition data expression - anything that sets, modifies, composes data.
this is a quite academic view since data expressions may contain selection expressions and selection expressions may contain data expressions. both variants and any mix of it are quite common in COS
It's good to know that DC is already well established on InterSystems' events. But anyhow working during the last 2 years very close with a customer the message of DC got lost. My interpretation: we didn't reach the developers but just their managers. So the message message to managers:
You as a manager take advantage giving your people time to use DC as a resource.
I didn't see it from this prospective before.
And YES! It's highly important to bring leaders and also local people together! Personal contact could / will be a base of trust and confidence in each other.
I totally agree that technology can't fix lack of education or lack of politeness or lack of interpersonal skills. I also have no problems with beginners or not searching deep enough into documentation. Also publishing subjects that someone finds important or new / updated That's the purpose of a community as I understand it. But then I'd expect something like : SOLVED, FAILED, OBSOLETE.
Checking index integrity for class 'Sample.Person' Begin time: 08/17/2017 21:41:25
Verifying data from data map 'IDKEY' is indexed correctly... Index 'NameIDX', entry ^Sample.PersonI("NameIDX"," CHANG,QUIGLEY H.",39), has differences between master map data and index map data. Corrected Index 'NameIDX', entry ^Sample.PersonI("NameIDX"," CHANG,DAN L.",40) missing. Corrected Index 'NameIDX', entry ^Sample.PersonI("NameIDX"," CHADWICK,OLGA E.",43) missing. Corrected Index 'NameIDX', entry ^Sample.PersonI("NameIDX"," CANNON,BARBARA W.",81) missing. Corrected Data Map evaluation complete, 200 rows checked, 4 errors found, elapsed time: .004733 seconds
Verifying data from index map "$Person" is correct... Index map "$Person" evaluation complete, 0 errors, elapsed time: .000691 seconds
Verifying data from index map NameIDX is correct... Index 'NameIDX', entry ^Sample.PersonI("NameIDX"," CEMPER,DAN L.",40), data differs for field 'Name' between data and index map. Corrected Index map NameIDX evaluation complete, 1 errors, elapsed time: .001331 seconds
Verifying data from index map SSNKey is correct... Index map SSNKey evaluation complete, 0 errors, elapsed time: .001195 seconds
Verifying data from index map ZipCode is correct... Index map ZipCode evaluation complete, 0 errors, elapsed time: .001255 seconds
%ValidateIndices is complete, total elapsed time: .012282 seconds
$SYSTEM.License.SetUserLimit establishes the maximum number of license units that this Cache instance will consume. This permits a system manager to prevent a Cache instance from consuming all the license units in a MultiServer key shared among multiple Cache instances. The Method returns the former maximum value. In the absence of a call to $SYSTEM.License.SetUserLimit(max) a Cache instance may consume all available license units.
Using Class %System.License. ... you may reduce the number of allowed connections by instance
• classmethod SetConnectionLimit(MaxCon As %Integer) as %Integer
$SYSTEM.License.SetConnectionLimit establishes the maximum number of connections permitted per user on this instance. This enables a system administrator to prevent a user from making so many connections to a Cache instance that they consume all available license units. Calling $SYSTEM.License.SetConnectionLimit($SYSTEM.License.MaxConnections()) permits a user to make the maximum connections permitted but prevent transitioning to the license unit per connection state, insuring the user will consume no more than one license unit. A zero argument removes the limit. The failure to obtain a license will be indicated in the normal way. For example, a call to $system.License.Login() will return zero (0) while a failure to log in to a new terminal connection will receive a error. However, these license failures will not be reported in the console log. The method returns the former maximum value.
The limit applies only to the local instance. If a Cache MultiServer license is shared among several instances it is still possible to exceed $SYSTEM.License.MaxConnections() over all instances. This can be avoided by setting the limit low enough on each instance that the combined connections to all instances will be unlikely to exceed $SYSTEM.License.MaxConnections().
$SYSTEM.License.SetConnectionLimit reqires access to the %Admin Manage resource. It is suggested that customers call this API from SYSTEM^%ZSTART.
In a similar situation I changed only one of the Serial classes to %RegisteredObject. Compilation was fine: Next I changed it back to %SerialObject. Complation was fine again. And remained fine.
go to post
start here
it might not be as trivial as you think
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...
HTH
go to post
to work down a collection of varying number of elements I'd use this kind of loop
in this case it's a double loop
For res=1:1:callresponse.result.Count() {
Continue:'$IsObject(callresponse.result.GetAt(res)
For err=1:1:callresponse.result.GetAt(res).Count() {
Continue:'$IsObject(callresponse.result.GetAt(res).errors.GetAt(err)
Set context.ErrorMessage= callresponse.result.GetAt(res).errors.GetAt(err).message
- - - -
}
}
This is the paranoic version!
If you trust ENSEMBLE you may skip the check for $IsObject()
HTH
go to post
this could have been what you were looking for.
it's pure CSP.
Light weight EXCEL download
https://community.intersystems.com/post/light-weight-excel-download
HTH
go to post
! ", " is seen just as another string text
You need the unicode character here to make it working
go to post
! ", " is seen just as another string text
You need the unicode character here to make it working
sorry, was in the wrong context before
go to post
go to post
Alexey,
with $ZF(-1,command) you are at OS level.
Nothing prevents you from extending command to a script that writes its pid in a file.
using $JOB_".pid" or similar as file name should be enough to identify it.
So after a moderate HANG your pid should be available.
I prefer this to using pipes or other sophisticated solutions (e.g. listening on a TCP/IP or UDP port, ...)
as you get an embedded trace for free
HTH
go to post
Got you!
The "missing" indicator is the signal.
go to post
John,
II just visited your post.
The hidden expectation is: ISC knows it better. This might fit in average.
But there are other people like you that are at least as well qualified as ISC specialists are. What's your label ?
And thinking on nodes.js I have my personal preferences outside ISC .
I have no problem if i'ts done but I'm not enthusiastic about.
go to post
online docs don't give a direct hint.
so my shot from the hip:
selection expression - $select(), $case() where you get a value based on a condition
data expression - anything that sets, modifies, composes data.
this is a quite academic view since data expressions may contain selection expressions
and selection expressions may contain data expressions.
both variants and any mix of it are quite common in COS
HTH
go to post
Sorry, what's the context? SQL ? COS ?
go to post
It's good to know that DC is already well established on InterSystems' events.
But anyhow working during the last 2 years very close with a customer the message of DC got lost.
My interpretation: we didn't reach the developers but just their managers.
So the message message to managers:
You as a manager take advantage giving your people time to use DC as a resource.
I didn't see it from this prospective before.
And YES! It's highly important to bring leaders and also local people together!
Personal contact could / will be a base of trust and confidence in each other.
go to post
I totally agree that technology can't fix lack of education or lack of politeness or lack of interpersonal skills.
I also have no problems with beginners or not searching deep enough into documentation.
Also publishing subjects that someone finds important or new / updated
That's the purpose of a community as I understand it.
But then I'd expect something like : SOLVED, FAILED, OBSOLETE.
go to post
Are there also english Versions of those videos ?
My Spanish is rather rusted and more oriented towards holidays.
go to post
I did a short test fiddling arouned ^Samples.PersonI
Checking index integrity for class 'Sample.Person'
Begin time: 08/17/2017 21:41:25
Verifying data from data map 'IDKEY' is indexed correctly...
Index 'NameIDX', entry ^Sample.PersonI("NameIDX"," CHANG,QUIGLEY H.",39), has differences between master map data and index map data. Corrected
Index 'NameIDX', entry ^Sample.PersonI("NameIDX"," CHANG,DAN L.",40) missing. Corrected
Index 'NameIDX', entry ^Sample.PersonI("NameIDX"," CHADWICK,OLGA E.",43) missing. Corrected
Index 'NameIDX', entry ^Sample.PersonI("NameIDX"," CANNON,BARBARA W.",81) missing. Corrected
Data Map evaluation complete, 200 rows checked, 4 errors found, elapsed time: .004733 seconds
Verifying data from index map "$Person" is correct...
Index map "$Person" evaluation complete, 0 errors, elapsed time: .000691 seconds
Verifying data from index map NameIDX is correct...
Index 'NameIDX', entry ^Sample.PersonI("NameIDX"," CEMPER,DAN L.",40), data differs for field 'Name' between data and index map. Corrected
Index map NameIDX evaluation complete, 1 errors, elapsed time: .001331 seconds
Verifying data from index map SSNKey is correct...
Index map SSNKey evaluation complete, 0 errors, elapsed time: .001195 seconds
Verifying data from index map ZipCode is correct...
Index map ZipCode evaluation complete, 0 errors, elapsed time: .001255 seconds
%ValidateIndices is complete, total elapsed time: .012282 seconds
SAMPLES>
This looks good so far.
go to post
Similar using Class %System.License. ... you may reduce the number of allowed connections by USER
This might be interesting in SaaS situation.
classmethod SetUserLimit(MaxLU As %Integer) as %Integer
go to post
Using Class %System.License. ... you may reduce the number of allowed connections by instance
• classmethod SetConnectionLimit(MaxCon As %Integer) as %Integer
go to post
high comfort service !
go to post
ClassReference of %Library.Persistent shows it as sub classes
http://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?P...
go to post
Tom.
In a similar situation I changed only one of the Serial classes to %RegisteredObject.
Compilation was fine:
Next I changed it back to %SerialObject.
Complation was fine again. And remained fine.