Skip to content

Knowledgebase

Keeping temporary uploads from filling application storage

development

Upload workflows can use temporary space before a file reaches its final storage. Failed processing and abandoned requests can leave data that consumes the account’s quota or inodes.

What you need before you begin

Identify the proxy, runtime and application temporary directories, plus the persistent upload destination. Confirm the ownership and retention requirements of each.

01 Keep temporary uploads from filling application storage

  1. Set upload and request-size limits that fit the feature and account capacity. Include simultaneous uploads and processing copies in the storage estimate.

  2. Write temporary files with identifiable ownership and track whether they are active, completed or abandoned. Keep private uploads outside public download locations.

  3. Move completed files to durable storage through the application’s supported workflow and remove temporary copies after a verified successful handoff.

  4. Create a cleanup job with a safe age threshold and an active-file exclusion. Test it in report-only mode or on a controlled directory before enabling deletion.

  5. Monitor free space and inode usage, and alert before uploads or unrelated application writes fail.

02 Example: include concurrent temporary copies in upload capacity

Assume a feature accepts files up to 100 MiB and permits five simultaneous uploads. The uploaded files alone can use about 500 MiB. If processing creates one full-size temporary copy of each file, that stage can require roughly another 500 MiB before final storage, logs and operating headroom.

These figures illustrate a capacity calculation, not a Nabtech upload limit. Image conversion, archives and video processing can have different expansion factors. Check the proxy, PHP or Python temporary path as well as the final destination.

In staging, cancel one upload while another is actively processing. Run the cleanup in report-only mode and confirm it identifies only the abandoned item after the chosen age threshold. Never infer that a file is safe to delete from its filename or age alone when active work can outlast that threshold.

Confirm the expected result

Test a normal upload, a cancelled upload and a processing failure. Confirm active files survive cleanup and abandoned files are eventually removed.

Troubleshoot unexpected results

Do not clear a whole shared temporary directory indiscriminately. It may contain active sessions, uploads or files belonging to another application.

A common question

Does sending uploads to object storage remove all local disk use?

Not necessarily. The proxy, parser or processing library may buffer data locally first. Inspect the actual request path and configure it deliberately.

Sources and further reading

Was this answer helpful?

Need a little more help?

Our support team can help you find the next step.

Contact support