Skip to content

Commit 010dbc0

Browse files
committed
Move new errata record creation to dramatiq task
1 parent afbdb83 commit 010dbc0

File tree

3 files changed

+25
-7
lines changed

3 files changed

+25
-7
lines changed

alws/dramatiq/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
from alws.dramatiq.errata import (
3535
bulk_errata_release,
3636
bulk_new_errata_release,
37+
create_new_errata,
3738
release_errata,
3839
release_new_errata,
3940
reset_records_threshold,

alws/dramatiq/errata.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from alws.crud.errata import (
77
bulk_errata_records_release,
88
bulk_new_errata_records_release,
9+
create_new_errata_record,
910
release_errata_record,
1011
release_new_errata_record,
1112
reset_matched_erratas_packages_threshold,
@@ -16,6 +17,10 @@
1617
__all__ = ["release_errata"]
1718

1819

20+
async def _create_new_errata(errata):
21+
await create_new_errata_record(errata)
22+
23+
1924
async def _release_new_errata_record(
2025
record_id: str, platform_id: int, force: bool
2126
):
@@ -50,6 +55,19 @@ async def _reset_matched_erratas_packages_threshold(issued_date: str):
5055
await reset_matched_erratas_packages_threshold(issued_date)
5156

5257

58+
@dramatiq.actor(
59+
max_retries=0,
60+
priority=0,
61+
queue_name="errata",
62+
time_limit=DRAMATIQ_TASK_TIMEOUT,
63+
)
64+
def create_new_errata(errata):
65+
event_loop.run_until_complete(setup_all())
66+
event_loop.run_until_complete(
67+
_create_new_errata(errata)
68+
)
69+
70+
5371
@dramatiq.actor(
5472
max_retries=0,
5573
priority=0,

alws/routers/errata.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from alws.dramatiq import (
1717
bulk_errata_release,
1818
bulk_new_errata_release,
19+
create_new_errata,
1920
release_errata,
2021
release_new_errata,
2122
reset_records_threshold,
@@ -36,14 +37,12 @@
3637

3738
@router.post("/new/", response_model=errata_schema.CreateErrataResponse)
3839
async def create_new_errata_record(
39-
errata: errata_schema.BaseErrataRecord,
40-
db: AsyncSession = Depends(AsyncSessionDependency(key=get_async_db_key())),
40+
errata: errata_schema.BaseErrataRecord
4141
):
42-
record = await errata_crud.create_new_errata_record(
43-
db,
44-
errata,
45-
)
46-
return {"ok": bool(record)}
42+
create_new_errata.send(errata)
43+
44+
message = f"Record {errata.id} is scheduled for creation"
45+
return {"ok": message}
4746

4847

4948
@router.post("/", response_model=errata_schema.CreateErrataResponse)

0 commit comments

Comments
 (0)