Added optional doNotCache to protocols.ExecuterOptions

dev
Ice3man 2023-02-13 18:00:25 +05:30
parent d608ffaeb2
commit ecc1964ad9
2 changed files with 10 additions and 3 deletions

View File

@ -77,6 +77,9 @@ type ExecuterOptions struct {
Operators []*operators.Operators // only used by offlinehttp module
// DoNotCache bool disables optional caching of the templates structure
DoNotCache bool
Colorizer aurora.Aurora
WorkflowLoader model.WorkflowLoader
ResumeCfg *types.ResumeCfg

View File

@ -34,8 +34,10 @@ func init() {
//
//nolint:gocritic // this cannot be passed by pointer
func Parse(filePath string, preprocessor Preprocessor, options protocols.ExecuterOptions) (*Template, error) {
if value, err := parsedTemplatesCache.Has(filePath); value != nil {
return value.(*Template), err
if !options.DoNotCache {
if value, err := parsedTemplatesCache.Has(filePath); value != nil {
return value.(*Template), err
}
}
var reader io.ReadCloser
@ -69,7 +71,9 @@ func Parse(filePath string, preprocessor Preprocessor, options protocols.Execute
template.CompiledWorkflow.Options = &options
}
template.Path = filePath
parsedTemplatesCache.Store(filePath, template, err)
if !options.DoNotCache {
parsedTemplatesCache.Store(filePath, template, err)
}
return template, nil
}