Skip to content

Commit a105d1f

Browse files
committed
better meilisearch handling
1 parent ed8cee7 commit a105d1f

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

.github/workflows/build_embeddings.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,18 @@ jobs:
7575
cleanup-job:
7676
needs: matrix-job
7777
runs-on: ubuntu-latest
78+
if: always() # This ensures that the cleanup job runs regardless of the result of matrix-job
7879
steps:
7980
- name: Checkout doc-builder
8081
uses: actions/checkout@v2
81-
82+
8283
- name: Install doc-builder
8384
run: pip install .[dev]
8485

85-
- name: Clean meilisearch
86-
run: doc-builder meilisearch-clean --meilisearch_key ${{ secrets.MEILISEARCH_KEY }}
86+
- name: Success Cleanup
87+
if: success() # Runs if all matrix jobs succeeded
88+
run: doc-builder meilisearch-clean --meilisearch_key ${{ secrets.MEILISEARCH_KEY }} --swap
89+
90+
- name: Failure Cleanup
91+
if: failure() # Runs if any matrix job failed
92+
run: doc-builder meilisearch-clean --meilisearch_key ${{ secrets.MEILISEARCH_KEY }}

src/doc_builder/build_embeddings.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -473,12 +473,13 @@ def build_embeddings(
473473
add_embeddings_to_db(client, MEILI_INDEX_TEMP, chunk_embeddings)
474474

475475

476-
def clean_meilisearch(meilisearch_key: str):
476+
def clean_meilisearch(meilisearch_key: str, swap: bool):
477477
"""
478478
Swap & delete temp index.
479479
"""
480480
client = meilisearch.Client("https://edge.meilisearch.com", meilisearch_key)
481-
swap_indexes(client, MEILI_INDEX, MEILI_INDEX_TEMP)
481+
if swap:
482+
swap_indexes(client, MEILI_INDEX, MEILI_INDEX_TEMP)
482483
delete_embedding_db(client, MEILI_INDEX_TEMP)
483484
create_embedding_db(client, MEILI_INDEX_TEMP)
484485
update_db_settings(client, MEILI_INDEX_TEMP)

src/doc_builder/commands/embeddings.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,10 @@ def embeddings_command_parser(subparsers=None):
127127
"Doc Builder meilisearch clean command. Swap & delete the temp index."
128128
)
129129
parser_meilisearch_clean.add_argument("--meilisearch_key", type=str, help="Meilisearch key.", required=True)
130+
parser_meilisearch_clean.add_argument(
131+
"--swap", action="store_true", help="Whether to swap temp index with prod index."
132+
)
130133
if subparsers is not None:
131-
parser_meilisearch_clean.set_defaults(func=lambda args: clean_meilisearch(args.meilisearch_key))
134+
parser_meilisearch_clean.set_defaults(func=lambda args: clean_meilisearch(args.meilisearch_key, args.swap))
132135

133136
return parser

0 commit comments

Comments
 (0)