Skip to content

Commit 07379b8

Browse files
authored
feat: Add method create_task to the TaskManager class
1 parent bb90d63 commit 07379b8

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/retsu/core.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,17 @@ def __init__(self) -> None:
136136
"""Create a list of retsu tasks."""
137137
self.tasks: dict[str, Task] = {}
138138

139+
@public
140+
def create_tasks(self) -> None:
141+
"""Get a task with the given name."""
142+
if self.tasks:
143+
return
144+
145+
warnings.warn(
146+
"`self.tasks` is empty. Override `create_tasks` and create "
147+
"`self.tasks` with the proper tasks."
148+
)
149+
139150
@public
140151
def get_task(self, name: str) -> Optional[Task]:
141152
"""Get a task with the given name."""
@@ -144,13 +155,20 @@ def get_task(self, name: str) -> Optional[Task]:
144155
@public
145156
def start(self) -> None:
146157
"""Start tasks."""
158+
if not self.tasks:
159+
self.create_tasks()
160+
147161
for task_name, task in self.tasks.items():
148162
print(f"Task `{task_name}` is starting ...")
149163
task.start()
150164

151165
@public
152166
def stop(self) -> None:
153167
"""Stop tasks."""
168+
if not self.tasks:
169+
warnings.warn("There is no tasks to be stopped.")
170+
return
171+
154172
for task_name, task in self.tasks.items():
155173
print(f"Task `{task_name}` is stopping ...")
156174
task.stop()

0 commit comments

Comments
 (0)