Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(agent): add keepAlive setting to Agent #4657

Merged
merged 9 commits into from
Jun 18, 2024

Conversation

ThatOneBro
Copy link
Member

Closes #4606

Copy link

vercel bot commented Jun 12, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
medplum-provider ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 18, 2024 11:06pm
3 Ignored Deployments
Name Status Preview Comments Updated (UTC)
medplum-app ⬜️ Ignored (Inspect) Visit Preview Jun 18, 2024 11:06pm
medplum-storybook ⬜️ Ignored (Inspect) Visit Preview Jun 18, 2024 11:06pm
medplum-www ⬜️ Ignored (Inspect) Visit Preview Jun 18, 2024 11:06pm

Copy link
Member

@codyebberson codyebberson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, clean, lgtm 👍

@@ -12,7 +12,7 @@ const options = {
resolveExtensions: ['.js', '.ts'],
target: 'es2021',
tsconfig: 'tsconfig.json',
external: ['iconv-lite', 'pdfmake'],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm... interesting. Was this required for something?

Also, I suspect pdfmake is a copy/paste relic, and could probably be removed.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the Node single executable we can't keep iconv-lite because it doesn't do any of the auto-bundling magic that pkg did and only works with a single bundled file. iconv-lite is a completely JS module so this works though we may have to figure out how native modules work in the Node SEA env since I don't think it's quite as "magical" as the pkg version, though we saw that pkg itself had its issue with native stuff

@@ -27,14 +27,12 @@
"@medplum/hl7": "3.1.8",
"dcmjs-dimse": "0.1.27",
"iconv-lite": "0.6.3",
"node-windows": "1.0.0-beta.8",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this has been hanging around for a while. It's ok to remove it, but we may need to bring it back.

Context: The Medplum "Agent" product is kinda like the 3rd or 4th version, descending from custom proprietary projects that we have custom built for customers. One of the long term goals is to deprecate all of those old proprietary projects, and standardize everything on the agent.

One of the required features of one of those custom proprietary projects is logging to the Windows Event Log, which is why the node-windows dep was here.

We can revisit that in the future when we want to make the final push to converge everything.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah that makes sense, this is good context

this.log.info(`Client created for remote '${message.remote}'`, { keepAlive, encoding });

if (client.keepAlive) {
this.hl7Clients.set(message.remote, client);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mental note - message.remote should include host, port, and other connection details, so this is a good unique identifier 👍

Copy link

sonarcloud bot commented Jun 18, 2024

@ThatOneBro ThatOneBro added this pull request to the merge queue Jun 18, 2024
Merged via the queue into main with commit 96f6b14 Jun 18, 2024
32 checks passed
@ThatOneBro ThatOneBro deleted the derrick-agent-push-keepalive branch June 18, 2024 23:29
medplumbot added a commit that referenced this pull request Jun 21, 2024
## What's Changed

fix(ci): fix `\n` missing due to reversal, use `git log --reverse` (#4649)
Allow chained search in _filter (#4647)
Polish eligibility demo (#4637)
cleanup(core): remove stray `console.log` (#4653)
Update sidebar.ts (#4652)
Feat: Configure refresh token expiry (#4525)
Dependency upgrades 2024-06-10 (#4650)
cleanup(chart-demo): rm ignored `example-bots.json` (#4656)
 Adding instructions to the example app READMEs on how to build bots (#4660)
Update useSearch.ts (#4663)
Export QuestionnaireFormContext and QuestionnairePageSequence from QuestionnaireForm (#4664)
Add `expo-polyfills` to README packages list (#4666)
revert(react): remove export of `QuestionnairePageSequence` (#4669)
Fix wrong pipe character in README (#4671)
Document Terminology Service operation endpoints (#4665)
Dependency upgrades 2024-06-17 (#4673)
Gracefully handle no major dep upgrades (#4675)
SQL on FHIR ViewDefinition types (#4674)
fix(build) Update deprecated import assertion into import attribute (#4682)
Fixes #4398 - add mapByIdentifier util function (#4635)
Fixes #4600 - Add Auto Confirmation Parameter for Headless Deployment (#4625)
fix(react-hooks): make `loading` track `MedplumClient#isLoading()` (#4677)
Implements FHIRPath string join (stu) (#4683)
SQL-on-FHIR processResource (#4678)
feat(useSubscription): add `subscriptionProps` as optional param (#4180)
Resolve conditional references (#4633)
feat(subscriptions): add `unbind-from-token` message for WebSocket subscriptions (#4672)
Document remaining Terminology Service operations (#4680)
feat(agent): add `keepAlive` setting to `Agent` (#4657)
Update README.md (#4687)
Fix all copyright dates (#4689)
Fixes subject input on PlanDefinitionApplyForm (#4699)
Deprecate non-strict mode (#4651)
Validate certain references with systemRepo (#4700)
docs(useSubscription): clean up examples, add JSDoc comment (#4692)
cleanup(repo): `handleMaybeCacheOnly` -> `handleStorage` (#4696)
Minor fixes to Eligibility Demo (#4703)

**Full Changelog**: v3.1.8...v3.1.9
github-merge-queue bot pushed a commit that referenced this pull request Jun 22, 2024
## What's Changed

fix(ci): fix `\n` missing due to reversal, use `git log --reverse` (#4649)
Allow chained search in _filter (#4647)
Polish eligibility demo (#4637)
cleanup(core): remove stray `console.log` (#4653)
Update sidebar.ts (#4652)
Feat: Configure refresh token expiry (#4525)
Dependency upgrades 2024-06-10 (#4650)
cleanup(chart-demo): rm ignored `example-bots.json` (#4656)
 Adding instructions to the example app READMEs on how to build bots (#4660)
Update useSearch.ts (#4663)
Export QuestionnaireFormContext and QuestionnairePageSequence from QuestionnaireForm (#4664)
Add `expo-polyfills` to README packages list (#4666)
revert(react): remove export of `QuestionnairePageSequence` (#4669)
Fix wrong pipe character in README (#4671)
Document Terminology Service operation endpoints (#4665)
Dependency upgrades 2024-06-17 (#4673)
Gracefully handle no major dep upgrades (#4675)
SQL on FHIR ViewDefinition types (#4674)
fix(build) Update deprecated import assertion into import attribute (#4682)
Fixes #4398 - add mapByIdentifier util function (#4635)
Fixes #4600 - Add Auto Confirmation Parameter for Headless Deployment (#4625)
fix(react-hooks): make `loading` track `MedplumClient#isLoading()` (#4677)
Implements FHIRPath string join (stu) (#4683)
SQL-on-FHIR processResource (#4678)
feat(useSubscription): add `subscriptionProps` as optional param (#4180)
Resolve conditional references (#4633)
feat(subscriptions): add `unbind-from-token` message for WebSocket subscriptions (#4672)
Document remaining Terminology Service operations (#4680)
feat(agent): add `keepAlive` setting to `Agent` (#4657)
Update README.md (#4687)
Fix all copyright dates (#4689)
Fixes subject input on PlanDefinitionApplyForm (#4699)
Deprecate non-strict mode (#4651)
Validate certain references with systemRepo (#4700)
docs(useSubscription): clean up examples, add JSDoc comment (#4692)
cleanup(repo): `handleMaybeCacheOnly` -> `handleStorage` (#4696)
Minor fixes to Eligibility Demo (#4703)

**Full Changelog**: v3.1.8...v3.1.9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

Agent Persistent connections?
2 participants