cube-js / cube-js/cube

How to configure Cube.js pre-aggregations to refresh every 12 hours or at a specific time (e.g., 4:00 AM UTC) and respect timing?

Open
#8,869 2 comments 1 reaction 1 assignee Claimed by @igorlukanin View on GitHub
pre-aggregations question
Dominant language
Rust
Stars
20.8k
Forks
2.1k
Avg merge
1d 2h
Merged PRs (30d)
181

Description

**Problem**

I’m working on a Cube.js project where I need to configure pre-aggregations to refresh at regular intervals, specifically every 12 hours or at a specific time like 4:00 AM UTC. I’ve set up a cube to optimize query performance using pre-aggregations, but I'm unsure how to configure the refresh schedule to achieve this behavior.

When testing the last refresh using Postman, for example, checking every 5 minutes, Cube.js doesn’t seem to **respect the scheduled refresh time** , even though I’ve set it for every 5 minutes. The refresh happens inconsistently.

**Here’s an example of my Orders cube where I want to apply these configurations:**

```js
cube('Orders', {
sql: `SELECT id, user_id, total_price, added_at FROM public.orders`,

preAggregations: {
OrdersSummary: {
dimensions: [Orders.id, Orders.userId, Orders.totalPrice],
refreshKey: {
every: '12 hour'
}
},
OrdersDetails: {
dimensions: [Orders.id, Orders.userId, Orders.addedAt],
refreshKey: {
every: '12 hour'
}
}
},

dimensions: {
id: {
sql: `id`,
type: `number`,
primaryKey: true
},
userId: {
sql: `user_id`,
type: `number`
},
totalPrice: {
sql: `total_price`,
type: `number`
},
addedAt: {
sql: `added_at`,
type: `time`
}
}
});
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.