Forum Replies Created
-
AuthorReplies
-
April 30, 2021 at 4:25 pm in reply to: What exactly does “Run in a sub-thread” do in regards to TPS files? #118807
I found this which may be helpful to others:
Run in a sub-thread option- When this option is selected on the Inbound TPS Editor by clicking Edit for TPS Inbound Data, a sub-thread is created under the protocol thread. This sub-thread is used only for data type messages, not those of type reply. There must be a TPS defined; there is no sub-thread if a TPS is not defined.
- There is only one thread involved with any IB/OB thread SMS (that is, TPS).
- All protocol threads have a pre-SMS queue and a post-SMS queue. If there is a TPS defined, messages go in the pre-SMS queue. The pre-SMS queue is skipped if no TPS is defined for the protocol thread. Between the two queues is the TPS that does something with the message and generates more messages.
- If a sub-thread is used, that TPS runs in it. During the time of the TPS processing, the engine is free to do other work. For example, input messages, output messages, move messages as part of the data flow. When the sub-thread has run the TPS procedure, it then signals the engine to pass the results into the post-SMS queue.
- If the defined TPS is small and fast, there is no requirement to use a sub-thread. The overhead of starting the thread would negate any gain. By “fast,” it is meant that it does not parse a message, as that can take time. It also does not access external data.
- In terms of stages, the IB pre and post queues are stages 1 and 2 and the OB queues are stages 10 and 11.
- In general, a single CPU machine gains slightly or even loses by turning on the sub-thread. This is the same as xlates.
- In the same way, a process that is lightly loaded does not gain anything using the sub-thread. There is no work for the engine to do when it runs.
- A sub-thread is helpful when there is a CPU available. It is also helpful when there is other work for the engine to do when the sub-thread is running. Parallel processing of messages is permitted if that is possible in the configuration.
- Note: When using Java TPS UPoCs, the Inbound tab shows the procedure as cljTPS. This is the Tcl interface procedure to Java TPS. When you click Edit, the Java class is shown. Java UPoCs cannot be used if Run in a Sub-thread is enabled
- This reply was modified 3 years, 7 months ago by Jay Clements.
April 30, 2021 at 11:50 am in reply to: Looking for link to get Level 3 certification (Advanced) #118805Question to all regarding training: last time I took training the manual/training doc was very out of date. Have the updated the training materials? Id like to do more training but I’d like to learn some of the newer features inline with changing tech. Also, is there a FHIR BRIDGE course?
Thanks!
Paul – I am not able to extract the data. I already have a tps script that performs a msgdump and it doesn’t have any data in message or userdata. Its weird. Not sure what’s going on. Any other thoughts?
Just to ask the question a different way – does the “file size” alert type lock a file when determining its size? Thanks
I also am having difficulty with the idea that even with the hcidbdump of our recovery and error databases for a given site (not the one with the huge files) messages are accumulating in the databases without reduction. I have an rLogM2K file on our site that handles document embedded messages (also, not the ones that are causing problems) and that’s 66mb and its been running for years using the standard cleanup process. I just cant see how the recovery database would be that relatively small if the only init we use is hcidbinit -iC. I think im missing a piece of this puzzle somewhere.
- This reply was modified 5 years, 2 months ago by Jay Clements.
- This reply was modified 5 years, 2 months ago by Jay Clements.
We absolutely do that. What we didn’t know is that the upstream source had started sending huge pdfs which went along the wire to the downstream receiver. The huge file would break the downstream receiver but they had an automated system the would “fix” the problem on their end after a certain amount of resends. So basically the interface would queue up and then dequeue all under our threshold of alerts. That’s the best we can figure out at least. We’ve been doing this for 20 years since quovadx and never had this type of problem before. We’ve really dug into the Db structure and are trying to understand if its better to fully clear all our databases, at least on the site with such large files coming through. Which is how I’m leaning now.
- This reply was modified 5 years, 2 months ago by Jay Clements.
When I upgraded and migrated about 6 months ago I posed the HCILICSET question to support. Here is what they responded with:
Simply dropping the emailed license.dat file in to the vers folder is now the preferred method of applying a license.
I have this escalated to development. They have confirmed this is a known issue and have an AR# 17679 created for tracking. Regarding misleading instructions in documentation that is going to be corrected.
AR 21603 Remove hcilicset from install guide.
Even though this question is answered above, the bug information might be useful. And since it says use HCILICSET in the docs – those are officially wrong docs.
- This reply was modified 5 years, 2 months ago by Jay Clements.
Check the sizes of your databases in /exec/databases for each site. Anything over 500mb is unwieldy – according to Infor. We had an issue where one got to nine gigabytes do to an upstream change we had no knowledge of (accumulating data at the rate of 1 gb a day). First thing we noticed off was CPU spiking. Hope your issue is unrelated because it was a pain to figure out and fix.
TorfinnK –
I’ve run powershell scripts directly from TPS/TCL and it works excellently.
I pass variables to the powershell from the TCL and then those variables influence how the powershell script behaves. I think its a very powerful combination, I can do just about anything I can dream of with that process.
example (TCL):
Code:exec powershell C:\cloverleaf\cis6.1\integrator\ghsadttest\usrcmds\SendVIPMail.ps1 -name $patientname -location $patientlocation
I don’t see why you couldn’t use that tactic and “Invoke-Expression -Command $yourcommandshere” in powershell to achieve what you need. Sure it moves from context to context, but you could call that “microservice design” if you are really cheeky. 😆
Perhaps I’m not entirely understanding the issue though, although if you are just looking for elegance, I feel like that excludes the majority of good, working, robust solutions for just about anything. But that’s all semantics.
I think to truly answer your question there needs to be more information about what your end goal is.
Thanks,
Rob Clements
Thanks Bill
I appreciate the pointer to that thread about version issues.
As to migrations, is there a set of policies on how to actually do the migration of data from server to server? I took the Infor site admin course which only covered using Box for site migration. Is that the preferred method?
Our roll out is all on VM so we are going to spin up two identical Server 2012 environments, one test and one prod, and start with migration from-test-to-test in order to dogfood the upgrades.
Thanks again for your response
-
AuthorReplies