summaryrefslogtreecommitdiff
path: root/Omni
diff options
context:
space:
mode:
Diffstat (limited to 'Omni')
-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