-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #6 from shirte/main
Use nerdd-link for communication
- Loading branch information
Showing
32 changed files
with
265 additions
and
317 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
from .save_job_to_db import * | ||
from .save_module_to_db import * | ||
from .save_result_to_db import * | ||
from .update_job_size import * |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
import logging | ||
|
||
from nerdd_link import Action, Channel, JobMessage | ||
|
||
from ..data import RethinkDbRepository | ||
|
||
__all__ = ["SaveJobToDb"] | ||
|
||
logger = logging.getLogger(__name__) | ||
|
||
|
||
class SaveJobToDb(Action[JobMessage]): | ||
def __init__(self, channel: Channel, repository: RethinkDbRepository) -> None: | ||
super().__init__(channel.jobs_topic()) | ||
self.repository = repository | ||
|
||
async def _process_message(self, message: JobMessage) -> None: | ||
await self.repository.upsert_job(message) | ||
|
||
def _get_group_name(self): | ||
return "save-jobs-to-db" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
import logging | ||
|
||
from nerdd_link import Action, Channel, ModuleMessage | ||
|
||
from ..data import RethinkDbRepository | ||
|
||
__all__ = ["SaveModuleToDb"] | ||
|
||
logger = logging.getLogger(__name__) | ||
|
||
|
||
class SaveModuleToDb(Action[ModuleMessage]): | ||
def __init__(self, channel: Channel, repository: RethinkDbRepository) -> None: | ||
super().__init__(channel.modules_topic()) | ||
self.repository = repository | ||
|
||
async def _process_message(self, message: ModuleMessage) -> None: | ||
logger.info(f"Creating a new module called {message.name}") | ||
await self.repository.upsert_module(message) | ||
|
||
def _get_group_name(self): | ||
return "save-module-to-db" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
import logging | ||
|
||
from nerdd_link import Action, Channel, ResultMessage | ||
|
||
from ..data import RethinkDbRepository | ||
|
||
__all__ = ["SaveResultToDb"] | ||
|
||
logger = logging.getLogger(__name__) | ||
|
||
|
||
class SaveResultToDb(Action[ResultMessage]): | ||
def __init__(self, channel: Channel, repository: RethinkDbRepository) -> None: | ||
super().__init__(channel.results_topic()) | ||
self.repository = repository | ||
|
||
async def _process_message(self, message: ResultMessage) -> None: | ||
try: | ||
await self.repository.upsert_result(message) | ||
except Exception as e: | ||
logger.error(f"Error consuming message: {e}") | ||
|
||
def _get_group_name(self): | ||
return "save-result-to-db" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
import logging | ||
|
||
from nerdd_link import Action, Channel, LogMessage | ||
|
||
from ..data import RethinkDbRepository | ||
|
||
__all__ = ["UpdateJobSize"] | ||
|
||
logger = logging.getLogger(__name__) | ||
|
||
|
||
class UpdateJobSize(Action[LogMessage]): | ||
def __init__(self, channel: Channel, repository: RethinkDbRepository) -> None: | ||
super().__init__(channel.logs_topic()) | ||
self.repository = repository | ||
|
||
async def _process_message(self, message: LogMessage) -> None: | ||
if message["message_type"] == "report_job_size": | ||
logger.info(f"Update job {message}") | ||
|
||
# get job | ||
job = await self.repository.get_job_by_id(message.job_id) | ||
|
||
# update job size | ||
job["num_entries_total"] = message["size"] | ||
|
||
await self.repository.upsert_job(job) | ||
|
||
def _get_group_name(self): | ||
return "update-job-size" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
from .consume_kafka_topic_lifespan import * | ||
from .action_lifespan import * | ||
from .create_module_lifespan import * | ||
from .initialize_database_lifespan import * | ||
from .kafka_producer_lifespan import * | ||
from .initialize_app_lifespan import * |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,3 @@ | ||
import asyncio | ||
from threading import Thread | ||
|
||
__all__ = ["AbstractLifespan"] | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
import logging | ||
|
||
from .abstract_lifespan import AbstractLifespan | ||
|
||
__all__ = ["ActionLifespan"] | ||
|
||
logger = logging.getLogger(__name__) | ||
|
||
|
||
class ActionLifespan(AbstractLifespan): | ||
def __init__(self, action_creator): | ||
super().__init__() | ||
self.action_creator = action_creator | ||
|
||
async def start(self, app): | ||
self.action = self.action_creator(app) | ||
|
||
async def run(self): | ||
await self.action.run() |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.