mirror of
https://github.com/mudler/LocalAI.git
synced 2026-07-08 23:37:43 -04:00
* feat: add distributed mode (experimental) Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix data races, mutexes, transactions Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactorings Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fixups Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix events and tool stream in agent chat Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * use ginkgo Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix(cron): compute correctly time boundaries avoiding re-triggering Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * enhancements, refactorings Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * do not flood of healthy checks Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * do not list obvious backends as text backends Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * tests fixups Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Drop redundant healthcheck Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * enhancements, refactorings Signed-off-by: Ettore Di Giacinto <mudler@localai.io> --------- Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
37 lines
1.1 KiB
Go
37 lines
1.1 KiB
Go
package jobs
|
|
|
|
import (
|
|
"github.com/mudler/LocalAI/core/services/messaging"
|
|
"github.com/mudler/xlog"
|
|
)
|
|
|
|
// PublishJobResult publishes a terminal job result event and a progress event via NATS.
|
|
func PublishJobResult(pub messaging.Publisher, jobID, status, result, errMsg string) {
|
|
if err := pub.Publish(messaging.SubjectJobResult(jobID), JobResultEvent{
|
|
JobID: jobID,
|
|
Status: status,
|
|
Result: result,
|
|
Error: errMsg,
|
|
}); err != nil {
|
|
xlog.Error("Failed to publish job result", "jobID", jobID, "error", err)
|
|
}
|
|
if err := pub.Publish(messaging.SubjectJobProgress(jobID), ProgressEvent{
|
|
JobID: jobID,
|
|
Status: status,
|
|
Message: errMsg,
|
|
}); err != nil {
|
|
xlog.Error("Failed to publish job progress", "jobID", jobID, "error", err)
|
|
}
|
|
}
|
|
|
|
// PublishJobProgress publishes a status-only update (no result) via NATS.
|
|
func PublishJobProgress(pub messaging.Publisher, jobID, status, message string) {
|
|
if err := pub.Publish(messaging.SubjectJobProgress(jobID), ProgressEvent{
|
|
JobID: jobID,
|
|
Status: status,
|
|
Message: message,
|
|
}); err != nil {
|
|
xlog.Error("Failed to publish job progress", "jobID", jobID, "error", err)
|
|
}
|
|
}
|