Storage & Tasks#

Object Storage#

The storage module manages SPK packages in S3-compatible object storage. It handles uploading, downloading (rehoming), and deleting package files, and is configured via the storage environment variables described in Deployment.

spkrepo.storage.delete(object_key)[source]#

Delete a file from Object Storage. Returns True on success.

spkrepo.storage.download(object_key, local_path)[source]#

Download a file from Object Storage to a local path. Returns True on success.

spkrepo.storage.purge_cdn(url_path)[source]#

Issue a CDN purge for the given URL path. Logs and skips if not configured.

spkrepo.storage.storage_configured()[source]#

Return True if the packages Object Storage config keys are populated.

spkrepo.storage.upload(local_path, object_key)[source]#

Upload a local file to Object Storage. Returns True on success.

Background Tasks#

Celery tasks are used for long-running operations triggered from the admin interface. All tasks run on the ops queue and are tracked per-user via Redis for 24 hours after completion. Task progress is visible on the Task Status page in the admin interface.