opsqueue 0.30.1

lightweight batch processing queue for heavy loads
Documentation
SQLite format 3@  �.zp��
K�	�	`b�W�`�LD�?1�indexsubmissions_failed_prefixsubmissions_failedCREATE INDEX submissions_failed_prefix ON submissions_failed (prefix, id)�
E7�+indexsubmissions_completed_prefixsubmissions_completedCREATE INDEX submissions_completed_prefix ON submissions_completed (prefix, id)e
1#�indexsubmissions_prefixsubmissionsCREATE INDEX submissions_prefix ON submissions (prefix, id)�
3�[indexrandom_chunks_orderchunks
CREATE INDEX random_chunks_order ON chunks (
      random_order
    , submission_id
    , chunk_index
)�f''�tablechunks_failedchunks_failedCREATE TABLE chunks_failed
(
    submission_id INTEGER NOT NULL,
    chunk_index INTEGER NOT NULL,
    input_content BLOB NULL,
    failure BLOB NOT NULL DEFAULT '',
    failed_at DATETIME NOT NULL, -- Unix Timestamp
    skipped BOOL NOT NULL DEFAULT false,

    PRIMARY KEY (submission_id, chunk_index)
) WITHOUT ROWID�
--�qtablechunks_completedchunks_completedCREATE TABLE chunks_completed
(
    submission_id INTEGER NOT NULL,
    chunk_index INTEGER NOT NULL,
    output_content BLOB NULL, -- Unset iff only (submission_id, id) + submission's metadata is enough to figure out content of Chunk from object_storage
    completed_at DATETIME NOT NULL, -- Unix Timestamp

    PRIMARY KEY (submission_id, chunk_index)
) WITHOUT ROWID�{	�Qtablechunkschunks
CREATE TABLE chunks
(
    submission_id INTEGER NOT NULL,
    chunk_index INTEGER NOT NULL,
    input_content BLOB NULL, -- Unset iff only (submission_id, id) + submission's metadata is enough to figure out content of Chunk from object_storage
    retries INTEGER NOT NULL DEFAULT 0, random_order INTEGER NOT NULL GENERATED ALWAYS AS (
    (((submission_id + chunk_index) % 65536) * 40503) % 65536
    ) VIRTUAL,

    PRIMARY KEY (submission_id, chunk_index)
) WITHOUT ROWID, STRICTCW1indexsqlite_autoindex_submissions_failed_1submissions_failed	�11�itablesubmissions_failedsubmissions_failedCREATE TABLE submissions_failed
(
    id BIGINT PRIMARY KEY NOT NULL,
    prefix TEXT,
    chunks_total INTEGER NOT NULL DEFAULT 0,
    metadata BLOB,
    failed_chunk_id INTEGER NOT NULL, -- NOTE: There might in rare cases be multiple concurrent failures, but only one of them will be 'first' (ordered by who gets write access to the submissions table lock first), which is the one stored here.
    failed_at DATETIME NOT NULL -- Unix Timestamp
, otel_trace_carrier TEXT NOT NULL DEFAULT "{}")I]7indexsqlite_autoindex_submissions_completed_1submissions_completed�677�tablesubmissions_completedsubmissions_completedCREATE TABLE submissions_completed
(
    id BIGINT PRIMARY KEY NOT NULL,
    prefix TEXT,
    chunks_total INTEGER NOT NULL DEFAULT 0,
    metadata BLOB,
    completed_at DATETIME NOT NULL -- Unix Timestamp
, otel_trace_carrier TEXT NOT NULL DEFAULT "{}")5I#indexsqlite_autoindex_submissions_1submissions�##�ctablesubmissionssubmissionsCREATE TABLE submissions
(
    id BIGINT PRIMARY KEY NOT NULL,
    prefix TEXT,
    chunks_total INTEGER NOT NULL DEFAULT 0,
    chunks_done INTEGER NOT NULL DEFAULT 0,
    metadata BLOB
, otel_trace_carrier TEXT NOT NULL DEFAULT "{}")?S-indexsqlite_autoindex__sqlx_migrations_1_sqlx_migrations�)--�table_sqlx_migrations_sqlx_migrationsCREATE TABLE _sqlx_migrations (
    version BIGINT PRIMARY KEY,
    description TEXT NOT NULL,
    installed_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    success BOOLEAN NOT NULL,
    checksum BLOB NOT NULL,
    execution_time BIGINT NOT N	

*�E�n
�
�
*c-3	lj��j-track chunk size2025-04-16 08:45:57�������-��ԧ�x���>$�4��e���,EA�����M��c%nq�i93	lj�Cͦadd strategic metadata2025-01-10 10:25:17Z+5!]�@^��ׄ�P�T�����j8��}�TR�V�� F@��rO�rK3	lh���add tracecontext to submissions2025-01-04 16:07:57<�{�?��Ð���hE�}}P<��vƩ��U��.�¯9�ʈ�3�s1L+�|mA3	lh��Jdsubmission index by prefix2025-01-04 16:07:57(i�'p�y/ɇ���v�ƻ���ڮ��r,�a��_����7���R�5/\Kf33	lh����random chunks index2025-01-04 16:07:57#L�7.��Xn�\��Z�%�uYY����|�e���}��,���>A<��Y�9�Y3	lh��Xachunks2025-01-04 16:07:57�Q���R��DO59�U0S��+�x�5]������"Hq�h+�!LwH�2d�$&�^#3	lh��W�submissions2025-01-04 16:07:57�*��ƨg/��0�hdI��`f���0��V����w1��<�!��HA��3$�
��������
j��j-
j�Cͦ
h���
h��Jd
h����
h��Xa		h��W�














	�	���=
K���	`b�W�`�LD�?1�indexsubmissions_failed_prefixsubmissions_failedCREATE INDEX submissions_failed_prefix ON submissio�311�tablesubmissions_failedsubmissions_failedCREATE TABLE submissions_failed
(
    id BIGINT PRIMARY KEY NOT NULL,
    prefix TEXT,
    chunks_total INTEGER NOT NULL DEFAULT 0,
    metadata BLOB,
    failed_chunk_id INTEGER NOT NULL, -- NOTE: There might in rare cases be multiple concurrent failures, but only one of them will be 'first' (ordered by who gets write access to the submissions table lock first), which is the one stored here.
    failed_at DATETIME NOT NULL -- Unix Timestamp
, otel_trace_carrier TEXT NOT NULL DEFAULT "{}", chunk_size INTEGER)�J77�3tablesubmissions_completedsubmissions_completedCREATE TABLE submissions_completed
(
    id BIGINT PRIMARY KEY NOT NULL,
    prefix TEXT,
    chunks_total INTEGER NOT NULL DEFAULT 0,
    metadata BLOB,
    completed_at DATETIME NOT NULL -- Unix Timestamp
, otel_trace_carrier TEXT NOT NULL DEFAULT "{}", chunk_size INTEGER)�"##�tablesubmissionssubmissionsCREATE TABLE submissions
(
    id BIGINT PRIMARY KEY NOT NULL,
    prefix TEXT,
    chunks_total INTEGER NOT NULL DEFAULT 0,
    chunks_done INTEGER NOT NULL DEFAULT 0,
    metadata BLOB
, otel_trace_carrier TEXT NOT NULL DEFAULT "{}", chunk_size INTEGER)�{	�Qtablechunkschunks
CREATE TABLE chunks
(
    submission_id INTEGER NOT NULL,
    chunk_index INTEGER NOT NULL,
    input_content BLOB NULL, -- Unset iff only (submission_id, id) + submission's metadata is enough to figure out content of Chunk from object_storage
    retries INTEGER NOT NULL DEFAULT 0, random_order INTEGER NOT NULL GENERATED ALWAYS AS (
    (((submission_id + chunk_index) % 65536) * 40503) % 65536
    ) VIRTUAL,

    PRIMARY KEY (submission_id, chunk_index)
) WITHOUT ROWID, STRICTCW1indexsqlite_autoindex_submissions_failed_1submissions_failed	"11�itablesubmissions_failedsubmissions_failedCREATE TABLE submissions_failed
(
    id BIGINT PRIMARY KEY NOT NULL,
    prefix TEXT,
    chunks_total INTEGER NOT NULL DEFAULT 0,
    metadata BLOB,
    failed_chunk_id INTEGER NOT NULL, -- NOTE: There might in rare cases be multiple concurrent failures, but only one of them will be 'first' (ordered by who gets write access to the submissions table lock first), which is the one stored here.
    failed_at DATETIME NOT NULL -- Unix Timestamp
, otel_trace_carrier TEXT NOT NULL DEFAULT "{}")I]7indexsqlite_autoindex_submissions_completed_1submissions_completed
�977�tablesubmissions_completedsubmissions_completedCREATE TABLE submissions_completed
(
    id BIGINT PRIMARY KEY NOT NULL,
    prefix TEXT,
    chunks_total INTEGER NOT NULL DEFAULT 0,
    metadata BLOB,
    completed_at DATETIME NOT NULL -- Unix Timestamp
, otel_trace_carrier TEXT NOT NULL DEFAULT "{}")5I#indexsqlite_autoindex_submissions_1submissions##�ctablesubmissionssubmissionsCREATE TABLE submissions
(
    id BIGINT PRIMARY KEY NOT NULL,
    prefix TEXT,
    chunks_total INTEGER NOT NULL DEFAULT 0,
    chunks_done INTEGER NOT NULL DEFAULT 0,
    metadata BLOB
, otel_trace_carrier TEXT NOT NULL DEFAULT "{}")?S-indexsqlite_autoindex__sqlx_migrations_1_sqlx_migrations�)--�table_sqlx_migrations_sqlx_migrationsCREATE TABLE _sqlx_migrations (
    version BIGINT PRIMARY KEY,
    description TEXT NOT NULL,
    installed_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    success BOOLEAN NOT NULL,
    checksum BLOB NOT NULL,
    execution_time BIGINT NOT NULL
)
�^�e�n
�v�u���[G+�Qindexrandom_chunks_metadata_order2chunks_metadataCREATE INDEX random_chunks_metadata_order2 ON chunks_metadata (
      metadata_key
    , random_order
    , metadata_value
    , submission_id
    , chunk_index
)�YE+�Oindexrandom_chunks_metadata_orderchunks_metadataCREATE INDEX random_chunks_metadata_order ON chunks_metadata (
      metadata_key
    , metadata_value
    , random_order
    , submission_id
    , chunk_index
)�;++�-tablechunks_metadatachunks_metadataCREATE TABLE chunks_metadata
(
    submission_id INTEGER NOT NULL,
    chunk_index INTEGER NOT NULL,
    metadata_key TEXT NOT NULL,

    metadata_value INTEGER NOT NULL, random_order INTEGER NOT NULL GENERATED ALWAYS AS (
    (((submission_id + chunk_index) % 65536) * 40503) % 65536
) VIRTUAL,

    -- auto-delete when chunk completes or fails:
    FOREIGN KEY (submission_id, chunk_index) REFERENCES chunks ON DELETE CASCADE,

    PRIMARY KEY (submission_id, chunk_index, metadata_key, metadata_value)
) WITHOUT ROWID, STRICT�@G5�indexlookup_submission_by_metadatasubmissions_metadataCREATE INDEX lookup_submission_by_metadata ON submissions_metadata (
      metadata_key
    , metadata_value
    , submission_id
)�q55�tablesubmissions_metadatasubmissions_metadataCREATE TABLE submissions_metadata
(
    submission_id INTEGER NOT NULL,
    metadata_key TEXT NOT NULL,

    -- We only support 64-bit integers as values,
    -- for efficiency and reduced storage.
    --
    -- Since we do not depend on this value for ordering (Ord) but only for filtering (Eq),
    -- it's okay to transform a u64 into a i64 before saving,
    -- so we can truly accept the full 64 bit range here.
    metadata_value INTEGER NOT NULL,

    -- NOTE: We don't set a foreign key here
    -- because the submission_id might point to
    -- a record in one of multiple tables
    -- (and we want to keep the metadata available also for completed/failed submissions)

    -- Quickly select all metadata of a particular submission
    PRIMARY KEY (submission_id, metadata_key, metadata_value)
) WITHOUT ROWID, STRICT�?1�indexsubmissions_failed_prefixsubmissions_failedCREATE INDEX submissions_failed_prefix ON submissions_failed (prefix, id)�
E7�+indexsubmissions_completed_prefixsubmissions_completedCREATE INDEX submissions_completed_prefix ON submissions_completed (prefix, id)e
1#�indexsubmissions_prefixsubmissionsCREATE INDEX submissions_prefix ON submissions (prefix, id)�
3�[indexrandom_chunks_orderchunks
CREATE INDEX random_chunks_order ON chunks (
      random_order
    , submission_id
    , chunk_index
)�f''�tablechunks_failedchunks_failedCREATE TABLE chunks_failed
(
    submission_id INTEGER NOT NULL,
    chunk_index INTEGER NOT NULL,
    input_content BLOB NULL,
    failure BLOB NOT NULL DEFAULT '',
    failed_at DATETIME NOT NULL, -- Unix Timestamp
    skipped BOOL NOT NULL DEFAULT false,

    PRIMARY KEY (submission_id, chunk_index)
) WITHOUT ROWID�
--�qtablechunks_completedchunks_completedCREATE TABLE chunks_completed
(
    submission_id INTEGER NOT NULL,
    chunk_index INTEGER NOT NULL,
    output_content BLOB NULL, -- Unset iff only (submission_id, id) + submission's metadata is enough to figure out content of Chunk from object_storage
    completed_at DATETIME NOT NULL, -- Unix Timestamp

    PRIMARY KEY (submission_id, chunk_index)
) WITHOUT ROWID