Skip to content

Commit 6c225cd

Browse files
committed
rename
Signed-off-by: George Lemon <georgelemon@protonmail.com>
1 parent da2c54c commit 6c225cd

3 files changed

Lines changed: 36 additions & 7 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,4 @@ manager.close()
6969

7070
### 🎩 License
7171
MIT license. [Made by Humans from OpenPeeps](https://github.com/openpeeps).<br>
72-
Copyright &copy; 2025 OpenPeeps & Contributors &mdash; All rights reserved.
72+
Copyright &copy; 2026 OpenPeeps & Contributors &mdash; All rights reserved.

src/tasks.nim renamed to src/supranim_tasks.nim

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -150,15 +150,13 @@ proc submitTask*(manager: TaskManager, delay: Duration, task: Task, repeatTask =
150150
if not isPositiveDuration(delay):
151151
manager.pending.addLast(task)
152152
return
153-
154-
let scheduleTask = ScheduledTask(
153+
154+
manager.scheduled.add(ScheduledTask(
155155
dueAt: getTime() + delay,
156156
task: task,
157157
repeating: repeatTask,
158158
repeatEvery: initDuration()
159-
)
160-
161-
manager.scheduled.add(scheduleTask)
159+
))
162160

163161
echo "Scheduled task '#", task.id, "' to run in ", beautifyDuration(delay)
164162

@@ -187,7 +185,10 @@ proc submitRepeatingTask*(manager: TaskManager, every: Duration, task: Task,
187185
repeating: true,
188186
repeatEvery: every
189187
))
190-
true
188+
189+
echo "Scheduled task '#", task.id, "' to run in ", beautifyDuration(every)
190+
191+
result = true
191192

192193
proc run*(manager: TaskManager) =
193194
## Starts the event loop to process tasks. This will block until the
@@ -240,3 +241,31 @@ proc halt*(manager: TaskManager, delay: Duration): bool =
240241
tv.tv_usec = clong((delay.inMilliseconds mod 1000) * 1000)
241242
result = event_base_loopexit(manager.base, addr tv) == 0
242243

244+
when isMainModule:
245+
import std/os
246+
var manager = newTaskManager(tickMs = 10)
247+
248+
discard manager.submitTask(Task(
249+
id: "task1",
250+
work: proc() =
251+
echo "Hello from task1"
252+
while true:
253+
sleep(1000) # Simulate long-running task
254+
))
255+
256+
manager.submitTask(
257+
initDuration(days = 2),
258+
Task(id: "once-after-2-days", work: proc() = echo "run once")
259+
)
260+
261+
echo manager.submitRepeatingTask(
262+
every = initDuration(minutes = 2),
263+
task = Task(id: "repeat-2-days",
264+
work: proc() =
265+
echo "This runs every 2 minutes"
266+
)
267+
)
268+
269+
# discard manager.halt(initDuration(milliseconds = 5000)) # Stop the manager after 5 seconds
270+
manager.run()
271+
manager.close()
File renamed without changes.

0 commit comments

Comments
 (0)