How to increase the execution time for apps served by knative?

3/28/2019

We are using knative to serve a nodejs app (with express) that would execute workflows and return back the results of execution. The app would have to execute workflows which could take minutes (if not hours) to finish executing.

After invoking the app, execution stops after a certain time (approximately 14min) with the status: upstream request timeout

We modified the timeout accordingly for express and it seemed to have a slight effect, but not as much as needed. We used the following guide as baseline https://github.com/knative/docs/tree/master/docs/serving/samples/hello-world/helloworld-nodejs

Is there a config value that can be modified that would increase the execution of the app itself (perhaps a timeout value)?

-- Vedo
faas
knative
knative-serving
kubernetes
nginx

1 Answer

4/13/2019

UPDATED (25/6/19):

As per https://github.com/knative/serving/pull/4196, in Knative v0.7, you can now specify MaxRevisionTimeoutSeconds which can be any integer. timeoutSeconds must be less than or equal to MaxRevisionTimeoutSeconds. timeoutSeconds defaults to 300.

OLD: You can change timeoutSeconds (which I believe defaults to 300 seconds):

apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
  name: my-app
  namespace: default
spec:
  runLatest:
    configuration:
      revisionTemplate:
        spec:
          timeoutSeconds: 300
          ...
-- Matthew P
Source: StackOverflow