ea37b78456
no issue - `{{#get}}` can slow down requests a lot if not used carefully, typically by using `limit="all"` or similar which can force a lot of data to be fetched and processed - adds a warning log if we detect any `{{#get}}` helper call which takes longer than a certain threshold (default 200ms) - allow log level and threshold to be configured via config to allow for different environments behaviours and requirements New config options: ``` { "logging": { "slowHelper": { "level": "warn", "threshold": 200 } } } ``` Example output for `{{#get "tags" limit="all" order="name asc"}}` with a lot of tags: ``` [2019-06-07 10:35:52] WARN {{#get}} helper took 453ms to complete {{#get}} helper took 453ms to complete Error ID: 062daed0-8910-11e9-8185-3b615ad8677d Error Code: SLOW_GET_HELPER Details: api: v2.tagsPublic.browse apiOptions: order: name asc limit: all returnedRows: 1698 ```
104 lines
2.3 KiB
JSON
104 lines
2.3 KiB
JSON
{
|
|
"url": "http://localhost:2368",
|
|
"server": {
|
|
"host": "127.0.0.1",
|
|
"port": 2368
|
|
},
|
|
"updateCheck": {
|
|
"url": "https://updates.ghost.org",
|
|
"forceUpdate": false
|
|
},
|
|
"privacy": false,
|
|
"useMinFiles": true,
|
|
"paths": {
|
|
"contentPath": "content/"
|
|
},
|
|
"storage": {
|
|
"active": "LocalFileStorage"
|
|
},
|
|
"scheduling": {
|
|
"active": "SchedulingDefault"
|
|
},
|
|
"members": {
|
|
"contentApiAccess": [],
|
|
"paymentProcessors": []
|
|
},
|
|
"logging": {
|
|
"level": "info",
|
|
"rotation": {
|
|
"enabled": false,
|
|
"period": "1d",
|
|
"count": 10
|
|
},
|
|
"transports": ["stdout"],
|
|
"slowHelper": {
|
|
"level": "warn",
|
|
"threshold": 200
|
|
}
|
|
},
|
|
"spam": {
|
|
"user_login": {
|
|
"minWait": 600000,
|
|
"maxWait": 604800000,
|
|
"freeRetries": 4
|
|
},
|
|
"user_reset": {
|
|
"minWait": 3600000,
|
|
"maxWait": 3600000,
|
|
"lifetime": 3600,
|
|
"freeRetries": 4
|
|
},
|
|
"global_reset": {
|
|
"minWait": 3600000,
|
|
"maxWait": 3600000,
|
|
"lifetime": 3600,
|
|
"freeRetries":4
|
|
},
|
|
"global_block": {
|
|
"minWait": 3600000,
|
|
"maxWait": 3600000,
|
|
"lifetime": 3600,
|
|
"freeRetries":99
|
|
},
|
|
"private_block": {
|
|
"minWait": 3600000,
|
|
"maxWait": 3600000,
|
|
"lifetime": 3600,
|
|
"freeRetries":99
|
|
},
|
|
"content_api_key": {
|
|
"minWait": 3600000,
|
|
"maxWait": 86400000,
|
|
"lifetime": 3600,
|
|
"freeRetries": 99
|
|
}
|
|
},
|
|
"caching": {
|
|
"frontend": {
|
|
"maxAge": 0
|
|
},
|
|
"301": {
|
|
"maxAge": 31536000
|
|
},
|
|
"customRedirects": {
|
|
"maxAge": 31536000
|
|
},
|
|
"favicon": {
|
|
"maxAge": 86400
|
|
},
|
|
"sitemap": {
|
|
"maxAge": 3600
|
|
},
|
|
"robotstxt": {
|
|
"maxAge": 3600000
|
|
}
|
|
},
|
|
"imageOptimization": {
|
|
"resize": true
|
|
},
|
|
"compress": true,
|
|
"preloadHeaders": false,
|
|
"adminFrameProtection": true,
|
|
"sendWelcomeEmail": true
|
|
}
|