anbaric 1.68.1 → 1.68.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/README.md CHANGED
@@ -44,7 +44,7 @@ How to put the features together to build something real.
44
44
  - [Integrating external systems](patterns/integrating-external-systems.md) — waiting on callbacks and webhooks
45
45
  - [Authorization with actors and roles](patterns/authorization.md) — who is allowed to do what
46
46
  - [UX practices](patterns/ux-practices.md) — feedback and polling for an asynchronous UI
47
- - [Staying within memory](patterns/memory.md) — the 512 MB footprint, and not turning the process into a cache
47
+ - [Staying within memory](patterns/memory.md) — the 1 GB footprint, and not turning the process into a cache
48
48
  - [Testing your app](patterns/testing.md) — driving a machine in memory
49
49
 
50
50
  ## API reference
@@ -49,14 +49,14 @@ anbaric jobs watch <job-id> # follow a job as it progresses
49
49
  so your code is identical locally and in the cloud. **Never set these
50
50
  yourself.** See [Environment and factories](../api/environment.md).
51
51
  - **A fixed footprint.** Each app runs in its own container with **0.25 vCPU
52
- and 512 MB of memory**, shared between your process and the small launcher
52
+ and 1 GB of memory**, shared between your process and the small launcher
53
53
  beside it. Node sizes its heap from that limit, so your code gets a heap of
54
- roughly **270 MB** before it is out of memory. That is plenty for a workflow
54
+ roughly **510 MB** before it is out of memory. That is plenty for a workflow
55
55
  app whose steps call services and move a job on; it is not enough to hold
56
56
  thousands of jobs, a whole dataset or a large file in memory at once. See
57
57
  [Staying within memory](../patterns/memory.md) for what to do instead and
58
58
  how an out-of-memory crash shows up. Every app starts small; one that needs
59
- more can be switched to a **large** instance (faster compute, 4× the memory,
59
+ more can be switched to a **large** instance (faster compute, 2× the memory,
60
60
  $50/£50 a month instead of $20/£20, and not covered by the free allowance)
61
61
  on the console's Manage apps page. Deploying never asks about size.
62
62
 
@@ -1,7 +1,7 @@
1
1
  # Staying within memory
2
2
 
3
- A deployed app gets **512 MB** of memory and a quarter of a vCPU, and Node gives
4
- your code a heap of roughly **270 MB** of that. This is a deliberate shape: an
3
+ A deployed app gets **1 GB** of memory and a quarter of a vCPU, and Node gives
4
+ your code a heap of roughly **510 MB** of that. This is a deliberate shape: an
5
5
  Anbaric app is a set of small steps that each read a job, do one thing and
6
6
  record the result. The job's data lives in the platform, not in your process,
7
7
  so a well-shaped app rarely needs more than a few tens of megabytes however
@@ -20,7 +20,7 @@ Two different limits, two different symptoms:
20
20
  collector that stopped working: the collector only frees what nothing refers
21
21
  to any more.
22
22
  - **The container limit.** Buffers and native memory live outside the heap. If
23
- they take the container past 512 MB the container is killed outright, with no
23
+ they take the container past 1 GB the container is killed outright, with no
24
24
  stack trace: `anbaric app status <name>` shows the task stopped with
25
25
  `OutOfMemoryError: Container killed due to memory usage`.
26
26
 
@@ -92,18 +92,18 @@ Your app serves HTTP as well as running steps, and the two share the heap.
92
92
 
93
93
  ## When you need to know
94
94
 
95
- `process.memoryUsage()` is the honest answer: `heapUsed` against the ~270 MB
96
- heap, `rss` against 512 MB. Logging it at the start and end of a suspect step
95
+ `process.memoryUsage()` is the honest answer: `heapUsed` against the ~510 MB
96
+ heap, `rss` against 1 GB. Logging it at the start and end of a suspect step
97
97
  tells you in one run whether the step is the problem. If `heapUsed` climbs
98
98
  across steps and never comes back down, something is holding on; if a single
99
99
  step spikes, that step needs breaking up.
100
100
 
101
101
  If a workload genuinely needs more — a large model run, a heavy transform — an
102
102
  app can be moved to a **large** instance from the console's Manage apps page:
103
- faster compute and four times the memory (2 GB, so a heap of roughly 1 GB),
103
+ faster compute and twice the memory (2 GB, so a heap of roughly 1 GB),
104
104
  for $50/£50 a month instead of $20/£20, paid from its first day (the free
105
105
  allowance covers small apps only). It is the right answer for one heavy app;
106
- it is not the answer to a leak, which will fill 2 GB as surely as 512 MB.
106
+ it is not the answer to a leak, which will fill 2 GB as surely as 1 GB.
107
107
 
108
108
  ## See also
109
109
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anbaric",
3
- "version": "1.68.1",
3
+ "version": "1.68.3",
4
4
  "description": "Everything needed to write an Anbaric app: state machines, jobs, document and secret stores, local in-memory implementations and the Anbaric Cloud clients",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -24,9 +24,9 @@
24
24
  "prepublishOnly": "npm run build"
25
25
  },
26
26
  "dependencies": {
27
- "anbaric-impl-cloud": "^1.68.1",
28
- "anbaric-data-store": "^1.68.1",
29
- "anbaric-state-machine": "^1.68.1",
30
- "anbaric-tsapi": "^1.68.1"
27
+ "anbaric-impl-cloud": "^1.68.3",
28
+ "anbaric-data-store": "^1.68.3",
29
+ "anbaric-state-machine": "^1.68.3",
30
+ "anbaric-tsapi": "^1.68.3"
31
31
  }
32
32
  }