mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) Add flexibility to daily API usage limit
Summary: Allow exceeding the daily API usage limit for a doc based on additional allocations for the current hour and minute. See the doc comment on getDocApiUsageKeysToIncr for details. This means that up to 5 redis keys may be relevant at a time for a single document. Test Plan: Updated and expanded 'Daily API Limit' tests. Reviewers: dsagal Reviewed By: dsagal Differential Revision: https://phab.getgrist.com/D3368
This commit is contained in:
@@ -25,6 +25,7 @@ import {tmpdir} from 'os';
|
||||
import * as path from 'path';
|
||||
import {removeConnection} from 'test/gen-server/seed';
|
||||
import {HomeUtil} from 'test/nbrowser/homeUtil';
|
||||
import {getDatabase} from 'test/testUtils';
|
||||
|
||||
export class TestServerMerged implements IMochaServer {
|
||||
public testDir: string;
|
||||
@@ -225,22 +226,7 @@ export class TestServerMerged implements IMochaServer {
|
||||
*/
|
||||
public async getDatabase(): Promise<HomeDBManager> {
|
||||
if (!this._dbManager) {
|
||||
const origTypeormDB = process.env.TYPEORM_DATABASE;
|
||||
process.env.TYPEORM_DATABASE = this._getDatabaseFile();
|
||||
this._dbManager = new HomeDBManager();
|
||||
await this._dbManager.connect();
|
||||
await this._dbManager.initializeSpecialIds();
|
||||
if (origTypeormDB) {
|
||||
process.env.TYPEORM_DATABASE = origTypeormDB;
|
||||
}
|
||||
// If this is Sqlite, we are making a separate connection to the database,
|
||||
// so could get busy errors. We bump up our timeout. The rest of Grist could
|
||||
// get busy errors if we do slow writes though.
|
||||
const connection = this._dbManager.connection;
|
||||
const sqlite = connection.driver.options.type === 'sqlite';
|
||||
if (sqlite) {
|
||||
await this._dbManager.connection.query('PRAGMA busy_timeout = 3000');
|
||||
}
|
||||
this._dbManager = await getDatabase(this._getDatabaseFile());
|
||||
}
|
||||
return this._dbManager;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user