Attached code contains a very basic $system.WorkMgr example.
It uses several jobs (workers) to update different chunks of rows of a table.
Steps:
- Creates a table with 100 records.
- Split table in chunks
- Initialize WorkMgr and queue chunks to workers.
- Every worker simply sets its process number in the Job field of the processed row.
In this case, I have tested the example in a 8-core laptop:
USER>do ##class(IAT.S04.WorkMgr.Simple).%DeleteExtent()
USER>do ##class(IAT.S04.WorkMgr.Simple).Populate(100)
USER>do ##class(IAT.S04.WorkMgr.Simple).UpdateWorkMgr()
**Split
pChunks=8
returnCode=1
chunks=$lb("12","24","36","49","62","75","88")
^Samples.Log=8
^Samples.Log(1)="UpdateOneChunk [11224] (12,24)"
^Samples.Log(2)="UpdateOneChunk [13404] (,12)"
^Samples.Log(3)="UpdateOneChunk [15752] (24,36)"
^Samples.Log(4)="UpdateOneChunk [3352] (36,49)"
^Samples.Log(5)="UpdateOneChunk [6664] (49,62)"
^Samples.Log(6)="UpdateOneChunk [15892] (62,75)"
^Samples.Log(7)="UpdateOneChunk [19872] (75,88)"
^Samples.Log(8)="UpdateOneChunk [13896] (88,)"
I was understanding the cluster configuration supported by the Cache. Have couple of queries around that:
1. In Cache version 2018.2, there is a shrading concept which splits the data of a Master Data server into multiple small data server which store shraded data.
How do we protect (backup and restore) such environment, should we also backup/restore the multiple small data servers along with Master data server. Any documentation around this will really help.
2.