Skip to content

Commit

Permalink
fix: Overriding of orchestratorOptions results in no usage of process…
Browse files Browse the repository at this point in the history
… cloud function -- deep merge Handlers options

Fixes #519
  • Loading branch information
paveltiunov committed Mar 21, 2020
1 parent 538f6d0 commit c879cb6
Showing 1 changed file with 26 additions and 5 deletions.
31 changes: 26 additions & 5 deletions packages/cubejs-serverless/Handlers.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,25 +33,46 @@ const processHandlers = {
class Handlers {
constructor(options) {
options = {
...options,
orchestratorOptions: (context) => ({
...(options && options.orchestratorOptions),
queryCacheOptions: {
...(options && options.orchestratorOptions && options.orchestratorOptions.queryCacheOptions),
queueOptions: {
sendProcessMessageFn: async (queryKey) => this.sendNotificationMessage(queryKey, 'queryProcess', context),
sendCancelMessageFn: async (query) => this.sendNotificationMessage(query, 'queryCancel', context)
sendCancelMessageFn: async (query) => this.sendNotificationMessage(query, 'queryCancel', context),
...(
options &&
options.orchestratorOptions &&
options.orchestratorOptions.queryCacheOptions &&
options.orchestratorOptions.queryCacheOptions.queueOptions
)
},
externalQueueOptions: {
sendProcessMessageFn: async (queryKey) => this.sendNotificationMessage(queryKey, 'externalQueryProcess', context),
sendCancelMessageFn: async (query) => this.sendNotificationMessage(query, 'externalQueryCancel', context)
sendCancelMessageFn: async (query) => this.sendNotificationMessage(query, 'externalQueryCancel', context),
...(
options &&
options.orchestratorOptions &&
options.orchestratorOptions.queryCacheOptions &&
options.orchestratorOptions.queryCacheOptions.externalQueueOptions
)
}
},
preAggregationsOptions: {
...(options && options.orchestratorOptions && options.orchestratorOptions.preAggregationsOptions),
queueOptions: {
sendProcessMessageFn: async (queryKey) => this.sendNotificationMessage(queryKey, 'preAggregationProcess', context),
sendCancelMessageFn: async (query) => this.sendNotificationMessage(query, 'preAggregationCancel', context)
sendCancelMessageFn: async (query) => this.sendNotificationMessage(query, 'preAggregationCancel', context),
...(
options &&
options.orchestratorOptions &&
options.orchestratorOptions.preAggregationsOptions &&
options.orchestratorOptions.preAggregationsOptions.queueOptions
)
}
}
}),
...options
})
};
this.serverCore = new ServerCore(options);
}
Expand Down

0 comments on commit c879cb6

Please sign in to comment.