File tree Expand file tree Collapse file tree 2 files changed +24
-3
lines changed
src/WebJobs.Script/Config
test/WebJobs.Script.Tests/Configuration Expand file tree Collapse file tree 2 files changed +24
-3
lines changed Original file line number Diff line number Diff line change @@ -70,13 +70,18 @@ public void Configure(ScriptJobHostOptions options)
70
70
71
71
private void ConfigureFunctionTimeout ( ScriptJobHostOptions options )
72
72
{
73
- if ( options . FunctionTimeout ! = null )
73
+ if ( options . FunctionTimeout = = null )
74
74
{
75
- ValidateTimeoutValue ( options , options . FunctionTimeout ) ;
75
+ options . FunctionTimeout = _environment . IsDynamic ( ) ? DefaultFunctionTimeoutDynamic : DefaultFunctionTimeout ;
76
+ }
77
+ else if ( ! _environment . IsDynamic ( ) && TimeSpan . Compare ( options . FunctionTimeout . Value , TimeSpan . FromDays ( - 1 ) ) == 0 )
78
+ {
79
+ // If a value of -1 is specified on a dedicated host, it should result in an infinite timeout
80
+ options . FunctionTimeout = null ;
76
81
}
77
82
else
78
83
{
79
- options . FunctionTimeout = _environment . IsDynamic ( ) ? DefaultFunctionTimeoutDynamic : DefaultFunctionTimeout ;
84
+ ValidateTimeoutValue ( options , options . FunctionTimeout ) ;
80
85
}
81
86
}
82
87
Original file line number Diff line number Diff line change @@ -158,6 +158,18 @@ public void Configure_NoMaxTimeoutLimits_IfNotDynamic()
158
158
Assert . Equal ( timeout , options . FunctionTimeout ) ;
159
159
}
160
160
161
+ [ Fact ]
162
+ public void Configure_AppliesInfiniteTimeout_IfNotDynamic ( )
163
+ {
164
+ var settings = new Dictionary < string , string >
165
+ {
166
+ { ConfigurationPath . Combine ( ConfigurationSectionNames . JobHost , "functionTimeout" ) , "-1" }
167
+ } ;
168
+
169
+ var options = GetConfiguredOptions ( settings ) ;
170
+ Assert . Equal ( null , options . FunctionTimeout ) ;
171
+ }
172
+
161
173
[ Fact ]
162
174
public void Configure_AppliesTimeoutLimits_IfDynamic ( )
163
175
{
@@ -177,6 +189,10 @@ public void Configure_AppliesTimeoutLimits_IfDynamic()
177
189
settings [ configPath ] = ( ScriptHostOptionsSetup . MinFunctionTimeout - TimeSpan . FromSeconds ( 1 ) ) . ToString ( ) ;
178
190
ex = Assert . Throws < ArgumentException > ( ( ) => GetConfiguredOptions ( settings , environment ) ) ;
179
191
Assert . Equal ( expectedMessage , ex . Message ) ;
192
+
193
+ settings [ configPath ] = "-1" ;
194
+ ex = Assert . Throws < ArgumentException > ( ( ) => GetConfiguredOptions ( settings , environment ) ) ;
195
+ Assert . Equal ( expectedMessage , ex . Message ) ;
180
196
}
181
197
182
198
[ Fact ]
You can’t perform that action at this time.
0 commit comments