internal static Collection <CustomAttributeBuilder> CreateTypeAttributes(ScriptJobHostOptions scriptConfig) { Collection <CustomAttributeBuilder> customAttributes = new Collection <CustomAttributeBuilder>(); // apply the timeout settings to our type if (scriptConfig.FunctionTimeout != null) { Type timeoutType = typeof(TimeoutAttribute); ConstructorInfo ctorInfo = timeoutType.GetConstructor(new[] { typeof(string) }); PropertyInfo[] propertyInfos = new[] { timeoutType.GetProperty("ThrowOnTimeout"), timeoutType.GetProperty("TimeoutWhileDebugging") }; // Hard-code these for now. Eventually elevate to config object[] propertyValues = new object[] { true, true }; CustomAttributeBuilder timeoutBuilder = new CustomAttributeBuilder( ctorInfo, new object[] { scriptConfig.FunctionTimeout.ToString() }, propertyInfos, propertyValues); customAttributes.Add(timeoutBuilder); } return(customAttributes); }
internal static Collection <CustomAttributeBuilder> CreateTypeAttributes(ScriptJobHostOptions scriptConfig) { Collection <CustomAttributeBuilder> customAttributes = new Collection <CustomAttributeBuilder>(); // apply the timeout settings to our type if (scriptConfig.FunctionTimeout != null) { var timeoutBuilder = CustomAttributeBuilderUtility.GetTimeoutCustomAttributeBuilder(scriptConfig.FunctionTimeout.Value); customAttributes.Add(timeoutBuilder); } return(customAttributes); }
internal static Collection <CustomAttributeBuilder> CreateTypeAttributes(ScriptJobHostOptions scriptConfig) { Collection <CustomAttributeBuilder> customAttributes = new Collection <CustomAttributeBuilder>(); // apply the timeout settings to our type if (scriptConfig.FunctionTimeout != null) { var timeoutBuilder = CustomAttributeBuilderUtility.GetTimeoutCustomAttributeBuilder(scriptConfig.FunctionTimeout.Value); customAttributes.Add(timeoutBuilder); } // apply retry settings for function execution if (scriptConfig.Retry != null) { // apply the retry settings from host.json var retryCustomAttributeBuilder = CustomAttributeBuilderUtility.GetRetryCustomAttributeBuilder(scriptConfig.Retry); if (retryCustomAttributeBuilder != null) { customAttributes.Add(retryCustomAttributeBuilder); } } return(customAttributes); }
public FileLoggingStatusManager(IOptions <ScriptJobHostOptions> scriptOptions, IDebugStateProvider debugStateProvider) { _scriptOptions = scriptOptions.Value; _debugStateProvider = debugStateProvider; }