Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
004d4df
task queue
David-Kunz Apr 24, 2025
de9bbfa
.
David-Kunz Apr 24, 2025
aa84a7c
.
David-Kunz Apr 24, 2025
0575afe
.
David-Kunz Apr 24, 2025
a7e0c68
.
David-Kunz Apr 24, 2025
0a94949
.
David-Kunz Apr 24, 2025
5087453
.
David-Kunz Apr 24, 2025
1a493af
.
David-Kunz Apr 25, 2025
09c3fee
Merge branch 'main' into task-queue
David-Kunz Apr 25, 2025
40ea457
enabled by default
David-Kunz Apr 25, 2025
e0c15a3
cds.core.Queued.Messages
David-Kunz Apr 30, 2025
aa72384
.
David-Kunz Apr 30, 2025
12ecfbf
.
David-Kunz Apr 30, 2025
ebe9f77
.
David-Kunz Apr 30, 2025
9541527
.
David-Kunz Apr 30, 2025
7c78c3a
.
David-Kunz Apr 30, 2025
6c0b7dc
.
David-Kunz Apr 30, 2025
2b0a406
.
David-Kunz Apr 30, 2025
e3a08ff
apis
David-Kunz Apr 30, 2025
1f615da
.
David-Kunz Apr 30, 2025
61ab993
use outboxed
David-Kunz Apr 30, 2025
f7dca58
Merge branch 'main' into task-queue
David-Kunz Apr 30, 2025
8717614
reduced chunkSize
David-Kunz May 5, 2025
de58e52
.
David-Kunz May 5, 2025
d74d1ff
.
David-Kunz May 5, 2025
419a686
Merge branch 'main' into task-queue
David-Kunz May 6, 2025
cbbabb5
revert name
David-Kunz May 16, 2025
cead605
.
David-Kunz May 16, 2025
ec923c2
.
David-Kunz May 16, 2025
2dfdf32
.
David-Kunz May 16, 2025
c92d57a
.
David-Kunz May 16, 2025
4b78fc0
.
David-Kunz May 16, 2025
390b7cd
.
David-Kunz May 16, 2025
fe8bb85
.
David-Kunz May 16, 2025
b27ee41
.
David-Kunz May 16, 2025
c0bbf8f
.
David-Kunz May 16, 2025
698d3b0
.
David-Kunz May 16, 2025
c0521df
.
David-Kunz May 16, 2025
245f3c8
.
David-Kunz May 16, 2025
ab289bb
.
David-Kunz May 16, 2025
49a57bf
.
David-Kunz May 16, 2025
0f9961e
.
David-Kunz May 16, 2025
c5a5bcc
Merge branch 'main' into task-queue
David-Kunz May 16, 2025
e17b4c0
.
David-Kunz May 16, 2025
89dda82
.
David-Kunz May 16, 2025
4cab9c5
.
David-Kunz May 16, 2025
9934a4d
.
David-Kunz May 16, 2025
9f03a1d
.
David-Kunz May 16, 2025
a924f8a
.
David-Kunz May 16, 2025
8444e0a
.
David-Kunz May 16, 2025
8723b05
.
David-Kunz May 16, 2025
a265990
.
David-Kunz May 16, 2025
9d98371
.
David-Kunz May 16, 2025
1c4a3c8
.
David-Kunz May 16, 2025
f958878
Merge branch 'main' into task-queue
chgeo May 20, 2025
0c83e4b
Merge branch 'main' into task-queue
chgeo May 20, 2025
8ece215
Merge branch 'main' into task-queue
David-Kunz May 22, 2025
e97d643
merge
David-Kunz May 22, 2025
df7e58f
.
David-Kunz May 22, 2025
379a40c
Merge branch 'main' into task-queue
David-Kunz May 23, 2025
1680be3
spelling
David-Kunz May 23, 2025
f8308c5
fix link
renejeglinsky May 23, 2025
813e2dd
fix link
renejeglinsky May 23, 2025
f2c796d
Merge branch 'main' into task-queue
renejeglinsky May 23, 2025
0828b87
details note for config
renejeglinsky May 26, 2025
cc998c3
edit note titles
renejeglinsky May 26, 2025
064d67a
Merge branch 'main' into task-queue
sjvans May 26, 2025
a77e022
cds 9: task queue - review (#1878)
sjvans May 27, 2025
5c5f922
typo
sjvans May 27, 2025
2c67c6a
typo
sjvans May 27, 2025
cf3a3c6
Merge branch 'main' into task-queue
sjvans May 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion guides/deployment/custom-builds.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ The CDS model folders and files used by `cds build` are determined as follows:
- Known root folders, by [default](../../get-started/#project-structure) the folders _db/, srv/, app/_, can also be configured by [`folders.db`, `folders.srv`, `folders.app`](../../get-started/#project-structure).
- The _src_ folder configured for the individual build task.
- If [feature toggles](../extensibility/feature-toggles#enable-feature-toggles) are enabled: subfolders of the folder _fts_.
- CDS Model folders and files defined by the [required services](../../node.js/cds-env#services) of your project. This also includes models used by required built-in CDS services, like [persistent outbox](../../node.js/outbox#persistent-outbox) or [MTX related services](../multitenancy/mtxs#mtx-services-reference).
- CDS Model folders and files defined by the [required services](../../node.js/cds-env#services) of your project. This also includes models used by required built-in CDS services, like [persistent queue](../../node.js/queue#persistent-queue) or [MTX related services](../multitenancy/mtxs#mtx-services-reference).

Feature toggle folders and required built-in service models will also be added if user defined models have already been configured as [_model_ option](#build-task-properties) in your build tasks.

Expand Down
4 changes: 2 additions & 2 deletions guides/messaging/task-queues.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ This guide will grow with the functionality.

Regarding the _outbox_, please see the following existing documentation:
- [Transactional Outbox](../../java/outbox) in CAP Java
- [Outboxing with `cds.outboxed`](../../node.js/outbox) in CAP Node.js
- [Outboxing with `cds.queued`](../../node.js/queue) in CAP Node.js



Expand All @@ -42,7 +42,7 @@ Simply configure your messaging service for Node.js as <Config>cds.requires.mess
With the inbox, all messages are acknowledged towards the message broker regardless of whether they can be processed or not.
Hence, failures need to be managed via the dead letter queue built on `cds.outbox.Messages`.

[Learn more about the dead letter queue in Node.js.](../../node.js/outbox#managing-the-dead-letter-queue){.learn-more}
[Learn more about the dead letter queue in Node.js.](../../node.js/queue#managing-the-dead-letter-queue){.learn-more}
[Learn more about the dead letter queue in Java.](../../java/outbox#outbox-dead-letter-queue){.learn-more}

Inboxing is especially beneficial in case the message broker does not allow to trigger redelivery and/ or "fix" the message payload.
Expand Down
2 changes: 1 addition & 1 deletion node.js/_menu.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
# [cds. utils](cds-utils)
# [cds. test()](cds-test)
# [cds. plugins](cds-plugins)
# [cds. outboxed()](outbox)
# [cds. queued()](queue)
Comment thread
sjvans marked this conversation as resolved.
# [TypeScript](typescript)
# [Fiori Support](fiori)
# [Best Practices](best-practices)
20 changes: 19 additions & 1 deletion node.js/messaging.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ this.after(['CREATE', 'UPDATE', 'DELETE'], 'Reviews', async (_, req) => {
```
::: tip
The messages are sent once the transaction is successful.
Per default, a persistent outbox is used. See [Messaging - Outbox](./outbox) for more information.
Per default, a persistent queue is used. See [Messaging - Queue](./queue) for more information.
Comment thread
David-Kunz marked this conversation as resolved.
:::

## Receiving Events
Expand Down Expand Up @@ -160,6 +160,24 @@ messaging.on('*', async msg => { /*...*/ })
In general, messages do not contain user information but operate with a technical user. As a consequence, the user of the message processing context (`cds.context.user`) is set to [`cds.User.privileged`](/node.js/authentication#privileged-user) and, hence, any necessary authorization checks must be done in custom handlers.
:::

### Inbox <Beta />

You can store received messages in an inbox before they're processed. Under the hood, it uses the [task queue](./queue) for reliable asynchronous processing.
Enable it by setting the `inboxed` option to `true`, for example:

```js
{
cds: {
requires: {
messaging: {
kind: 'enterprise-messaging',
inboxed: true
}
}
}
}
```

## CloudEvents Protocol

[CloudEvents](https://cloudevents.io/) is a commonly used specification for describing event data.
Expand Down
292 changes: 0 additions & 292 deletions node.js/outbox.md

This file was deleted.

Loading