dify icon indicating copy to clipboard operation
dify copied to clipboard

when I updated to v0.6.7, the HTTP Node got invalid timeout error which could work fine in previous version

Open dwgeneral opened this issue 9 months ago • 2 comments

Self Checks

  • [X] This is only for bug report, if you would like to ask a question, please head to Discussions.
  • [X] I have searched for existing issues search for existing issues, including closed ones.
  • [X] I confirm that I am using English to submit this report (我已阅读并同意 Language Policy).
  • [X] Please do not modify this template :) and fill in all the required fields.

Dify version

0.6.7

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

the HTTP node in workflow 截屏2024-05-14 10 20 10 截屏2024-05-14 10 20 18

✔️ Expected Behavior

http calling succeed

❌ Actual Behavior

http calling failed with invalid timeout error

dwgeneral avatar May 14 '24 03:05 dwgeneral

It looks like the issue you're encountering with the "invalid timeout error" in Dify version 0.6.7 is due to the way timeout values are expected to be configured for the HTTP Node. The system is designed to accept separate float values for connect, read, and write timeouts, rather than a tuple format like [20, 20, 20]. This means each timeout type (connect, read, and write) should be individually specified as float values, aligning with the HttpRequestNodeData.Timeout class's structure.

Here's a quick overview of how you should configure the timeout settings:

  • Ensure that connect, read, and write timeouts are set as separate attributes.
  • Avoid using a tuple format for these settings.

This adjustment is necessary because the HttpRequestNode class processes each timeout attribute individually, applying minimum value checks against predefined maximums for connect, read, and write timeouts. This is a specific design choice to ensure that each timeout type can be individually managed and validated.

Additionally, if you're running Dify in a Docker environment, be aware that the WORKER_TIMEOUT setting in the sandbox service configuration could influence the occurrence of timeout errors. This setting defines the maximum execution time for workers, including the time for HTTP requests made from the HTTP Node. If a request exceeds this timeout, it might result in an error.

For more detailed information, you might want to review the HttpRequestNode class and the Docker environment configuration in the Dify repository. This should give you a clearer understanding of how timeouts are handled and how to configure them correctly to avoid errors.

Details

Sources


About Dosu This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.

Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.

To continue the conversation, mention @dosu.

dosubot[bot] avatar May 14 '24 03:05 dosubot[bot]

We have just release the 0.6.8, please upgrade to the version to see if this issue persists.

crazywoola avatar May 14 '24 04:05 crazywoola