summaryrefslogtreecommitdiff
path: root/Omni/Agent
diff options
context:
space:
mode:
authorBen Sima <ben@bensima.com>2025-11-24 14:31:47 -0500
committerBen Sima <ben@bensima.com>2025-11-24 14:31:47 -0500
commit34114e2016b186a52a7245fe3fb7e2bfe5091780 (patch)
tree274588d3de0fbfb847151581e6d8945746c60012 /Omni/Agent
parent1114ce3f55c1d9d90b49469a63accde094d8535f (diff)
Display credits correctly and don't loop agent
Diffstat (limited to 'Omni/Agent')
-rw-r--r--Omni/Agent/Log.hs2
-rw-r--r--Omni/Agent/Worker.hs14
2 files changed, 7 insertions, 9 deletions
diff --git a/Omni/Agent/Log.hs b/Omni/Agent/Log.hs
index 71a7aca..2942563 100644
--- a/Omni/Agent/Log.hs
+++ b/Omni/Agent/Log.hs
@@ -166,7 +166,7 @@ updateFromEntry :: LogEntry -> Status -> Status
updateFromEntry LogEntry {..} s =
s
{ statusThread = leThreadId <|> statusThread s,
- statusCredits = fromMaybe (statusCredits s) (leTotalCredits <|> leCredits),
+ statusCredits = maybe (statusCredits s) (/ 100.0) (leTotalCredits <|> leCredits),
statusTime = maybe (statusTime s) formatTime leTimestamp
}
diff --git a/Omni/Agent/Worker.hs b/Omni/Agent/Worker.hs
index 7266162..c9a7563 100644
--- a/Omni/Agent/Worker.hs
+++ b/Omni/Agent/Worker.hs
@@ -19,11 +19,11 @@ import qualified System.Process as Process
start :: Core.Worker -> IO ()
start worker = do
AgentLog.init (Core.workerName worker)
- AgentLog.log ("Worker starting loop for " <> Core.workerName worker)
- loop worker
+ AgentLog.log ("Worker starting for " <> Core.workerName worker)
+ runOnce worker
-loop :: Core.Worker -> IO ()
-loop worker = do
+runOnce :: Core.Worker -> IO ()
+runOnce worker = do
let repo = Core.workerPath worker
AgentLog.updateActivity "Syncing tasks..."
@@ -43,12 +43,10 @@ loop worker = do
readyTasks <- TaskCore.getReadyTasks
case readyTasks of
[] -> do
- AgentLog.updateActivity "No work found, sleeping..."
- threadDelay (60 * 1000000) -- 60 seconds
- loop worker
+ AgentLog.updateActivity "No work found."
+ AgentLog.log "No ready tasks found."
(task : _) -> do
processTask worker task
- loop worker
processTask :: Core.Worker -> TaskCore.Task -> IO ()
processTask worker task = do