30466

ActiveStorage big file uploads triggers Google::Execution::Expired

Question:

While implementing ActiveStorage at work we found out that when uploading big file, 12GB , the operations hangs for about 10 minutes and the I get the error Google::Execution::Expired or sometimes HTTPClient::SendTimeoutError: execution expired.

I am running most uploads with a line like this:

backup.file.attach(io: File.open("/my/file/path.ext"), filename: "myfilename")

Is there a way to make the request to last longer or a way to circunvent this timeouts.

This strategy has worked fine, so far, for uploads of 4GB. It's just when I go overboard with the file size that this occurs. Time is not a problem on our side since this is a nightly task on a Cron job.

Answer1:

The Google Cloud Storage client’s send timeout defaults to 1 minute or so. (You see a delay of 10 minutes because the client tries several times to resume the upload after encountering a timeout.) You can specify a different timeout in seconds in config/storage.yml:

production: service: GCS credentials: { ... } project: my-project bucket: my-bucket timeout: 120 # 2 minutes

Use timeout: 0 to disable the send timeout.

Recommend

  • How to resize a pixmap with XLib?
  • how to remove comments from a bash script
  • How to mount dynamically single file component in Vue.js
  • LatLong falls within a given polygon in D3 + Leaflet
  • Remove every nth element from swift array
  • d3js: time scaling and “1901”
  • angularjs ng-bind-html html input part missing
  • Trouble Attaching Call Back to Unobtrusive Validation Show Error
  • Slow performance in hybrid AngularJS and Angular application in Safari
  • Where to save the local DB created for iphone app?
  • css font-size and line-height not matching the baseline
  • Graceful pod termination
  • insert a picture into database(sqlite) with java code. what should i do?
  • Getting error java.io.FileNotFoundException (log4j log file) at the time of publish project on cloud
  • How can i dump blob fields from mysql tables
  • Jenkins: FATAL: Could not initialize class hudson.util.ProcessTree$UnixReflection
  • MS Access - How to change the linked table path by amend the table
  • JBoss External Properties Files in Classpath
  • Connect .sks to skscene.h
  • How to run “Deployd” on port 80 instead of port 5000 in webserver.
  • Why does access(2) check for real and not effective UID?
  • Checking free space on FTP server
  • Using $this when not in object context
  • How do I fake an specific browser client when using Java's Net library?
  • How reduce the height of an mschart by breaking up the y-axis
  • How to redirect a user to a different server and include HTTP basic authentication credentials?
  • script to move all files from one location to another location
  • ILMerge & Keep Assembly Name
  • Perl system calls when running as another user using sudo
  • Can I make an Android app that runs a web view in Chrome 39?
  • Symfony2: How to get request parameter
  • ActionScript 2 vs ActionScript 3 performance
  • How can I estimate amount of memory left with calling System.gc()?
  • Apache 2.4 - remove | delete | uninstall
  • Run Powershell script from inside other Powershell script with dynamic redirection to file
  • Load html files in TinyMce
  • How can I get HTML syntax highlighting in my editor for CakePHP?
  • coudnt use logback because of log4j
  • LevelDB C iterator
  • Linking SubReports Without LinkChild/LinkMaster