Skip to content

sort task by full table name#56

Merged
cccs-jc merged 1 commit into
mainfrom
execute_task_alpha
May 26, 2026
Merged

sort task by full table name#56
cccs-jc merged 1 commit into
mainfrom
execute_task_alpha

Conversation

@cccs-jc

@cccs-jc cccs-jc commented May 26, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@cccs-jc cccs-jc requested review from cccs-as and cccs-hpham May 26, 2026 18:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR changes how Ice Keeper schedules maintenance tasks by switching from runtime-based ordering (using historical journal durations) to deterministic alphabetical ordering by each task’s full table name, and adds logging to show the initial task index-to-table mapping before execution.

Changes:

  • Added get_ordered_tasks_by_full_name() to sort tasks alphabetically by task.task_name() (full table name for maintenance tasks).
  • Updated CLI commands (multi, optimize, expire, rewrite_manifests, orphan) to use name-based ordering instead of historical execution-time ordering.
  • Added log_initial_task_numbering() to log the ordered task list before scheduling.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
ice_keeper/task/task.py Adds a helper to deterministically sort tasks by full table name (via task_name()).
ice_keeper/task/init.py Re-exports the new ordering helper from the ice_keeper.task package.
ice_keeper/ice_keeper.py Switches CLI scheduling to name-ordering and logs the initial ordered task list.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ice_keeper/ice_keeper.py
Comment on lines +485 to +492
"""Log task number to full name mapping before scheduling."""
if not tasks:
logger.info("No tasks to schedule.")
return

logger.info("Initial task numbering:")
for idx, task in enumerate(tasks, start=1):
logger.info("Task %d -> %s", idx, task.task_name())
Comment thread ice_keeper/ice_keeper.py
ordered_tasks = get_ordered_tasks_by_full_name(tasks)
log_initial_task_numbering(ordered_tasks)

executor.submit_tasks_and_wait(ordered_tasks)
@@ -6,6 +6,7 @@
Task,
TaskResult,
get_ordered_tasks_by_execution_time,
@cccs-jc cccs-jc merged commit 4adad1c into main May 26, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants