Advanced-Workers timeout consistently while JSReport running in Docker



  • Report "exceptionReport-main" render failed.

    Report timeout
    Error: Report timeout
    at Timeout._onTimeout (/app/node_modules/@jsreport/advanced-workers/lib/threadWorker.js:41:23)
    at listOnTimeout (node:internal/timers:557:17)
    at processTimers (node:internal/timers:500:7)

    Hey there, I've tried throwing more computing resources (memory, cpus, workers) at this and increasing the timeouts, but the report build always seems to hang indefinitely until we get this error. It fails this way in a Docker container on my local machine and in Google Cloud Platform.

    Tried both 3.1.1 and 3.0.1. No luck either way.

    Config -

      "httpPort": 5488,
      "store": {
        "provider": "fs"
      },
      "blobStorage": {
        "provider": "fs"
      },
      "logger": {
        "console": {
          "transport": "console",
          "level": "debug"
        },
        "file": {
          "transport": "file",
          "level": "info",
          "filename": "logs/reporter.log"
        },
        "error": {
          "transport": "file",
          "level": "error",
          "filename": "logs/error.log"
        }
      },
      "allowLocalFilesAccess": true,
      "reportTimeout": 60000,
      "workers": {
        "numberOfWorkers": 4
      },
      "extensions": {
        "chrome-pdf": {
          "timeout": 60000
        },
        "scripts": {
          "timeout": 60000
        },
        "authentication": {
          "cookieSession": {},
          "admin": {
            "username": "- - - -",
            "password": "- - - -"
          },
          "enabled": false
        }
      },
      "chrome": {
        "timeout": 60000,
        "strategy": "dedicated-process"
      }
    } 
    

    It doesn't give any additional logging either, anyone have debugging tips?



  • If you run the report in the studio, the right pane has a "profile" tab. There you can see in more detail where the execution hangs. If its an API request, the studio startup page has some of the last requests listed, when you click it you should see again the request profile.
    https://jsreport.net/learn/studio

    Is it the official jsreport/jsreport:3.1.1 image?
    I would take a look what is the problem if you share with me your entities.
    Either in playground or by uploading somewhere your export.



  • @jan_blaha Thank you for the timely reply! Based on the profile tab, we are hanging on the beforeRender function, where we are doing some data retrieval. That is a good start for debugging.

    I have tried using FROM jsreport/jsreport:3.1.1 and FROM jsreport/jsreport:3.1.1-full, and had some mixed success with the "full" version in a local docker instance, but not once I'd uploaded to GCR. Is the "full" or the regular version suggested?

    Here is the result of my export as well.

    As for the export, this site says I do not have sufficient permissions to upload the file. Is there an alternate way I can get you that data?



  • Based on the profile tab, we are hanging on the beforeRender function

    I see, this would mean it is hanging somewhere in you custom script, try to investigate there.

    Is the "full" or the regular version suggested?

    The full is bigger because it has installed also additional extensions and some OS fonts.
    The full is based on Ubuntu and the default is based on Alpine.
    There is no general recommendation, but if you care about the image size, you will use the default.

    As for the export, this site says I do not have sufficient permissions

    Please upload to some onedrive, dropbox... when you need to share something here. The forum for some reason doesn't accept uploads sometimes.


Log in to reply
 

Looks like your connection to jsreport forum was lost, please wait while we try to reconnect.