Loading...
Loading...
Compare original and translation side by side
iii-pubsubiii-pubsubiii worker add iii-pubsubiii worker add iii-pubsubpublish{ topic, data }subscribe{ topic }dataiii-queuepublish{ topic, data }subscribe{ topic }dataiii-queueimport { registerWorker, TriggerAction } from 'iii-sdk'
const iii = registerWorker('ws://localhost:49134')
iii.registerFunction('notifications::on-order-shipped', async (data) => {
return { seen: data.orderId }
})
iii.registerTrigger({
type: 'subscribe',
function_id: 'notifications::on-order-shipped',
config: { topic: 'orders.shipped' },
})
await iii.trigger({
function_id: 'publish',
payload: {
topic: 'orders.shipped',
data: { orderId: 'ord_123' },
},
action: TriggerAction.Void(),
})import { registerWorker, TriggerAction } from 'iii-sdk'
const iii = registerWorker('ws://localhost:49134')
iii.registerFunction('notifications::on-order-shipped', async (data) => {
return { seen: data.orderId }
})
iii.registerTrigger({
type: 'subscribe',
function_id: 'notifications::on-order-shipped',
config: { topic: 'orders.shipped' },
})
await iii.trigger({
function_id: 'publish',
payload: {
topic: 'orders.shipped',
data: { orderId: 'ord_123' },
},
action: TriggerAction.Void(),
})workers:
- name: iii-pubsub
config:
adapter:
name: localadapter.name: redisredis_urlworkers:
- name: iii-pubsub
config:
adapter:
name: localadapter.name: redisredis_url| Need | Use |
|---|---|
| Notify every live subscriber now | |
| Retry failed subscribers | |
| Direct async function call with retries | |
| Dead-letter and redrive | |
| Strict ordering | |
| 需求 | 使用工具 |
|---|---|
| 立即通知所有在线订阅者 | |
| 重试失败的订阅者 | |
| 带重试的直接异步函数调用 | |
| 死信处理与重驱动 | |
| 严格排序 | |
iii::durable::publishiii::durable::publish