[server][steve] Better logging for jobs

This commit is contained in:
Abhishek Shroff
2025-07-08 23:29:59 +05:30
parent 1626412837
commit 5be3d7bcc5
2 changed files with 13 additions and 15 deletions

View File

@@ -8,7 +8,7 @@ import (
"codeberg.org/shroff/phylum/server/internal/steve"
"codeberg.org/shroff/phylum/server/internal/storage"
"github.com/google/uuid"
"github.com/sirupsen/logrus"
"github.com/rs/zerolog"
)
type MigrateArgs struct {
@@ -50,7 +50,7 @@ func migrateVersionContents(ctx context.Context, versionID uuid.UUID) error {
return errors.New("failed to copy to target storage: " + err.Error())
} else if err := updateStorage(db, versionID, target.Name()); err != nil {
if err := target.Delete(versionID.String()); err != nil {
logrus.Warn("failed to delete new copy: " + err.Error())
zerolog.Ctx(ctx).Warn().Err(err).Msg("failed to delete new copy")
}
return errors.New("failed to update storage in db: " + err.Error())
} else if err := current.Delete(versionID.String()); err != nil {

View File

@@ -169,6 +169,7 @@ func (c *Client) RunJob(ctx context.Context, id int32) error {
} else if w, err := f.makeUnit(&job.JobInfo); err != nil {
return err
} else {
ctx = c.logger.With().Int32("id", id).Logger().WithContext(ctx)
if err := w.Work(ctx); err != nil {
c.recordError(&job.JobInfo, err)
return err
@@ -281,28 +282,27 @@ loop:
c.logger.Fatal().Err(err).Msg("Failed to claim job")
}
} else {
if err := c.execute(workCtx, info); err != nil {
logger := c.logger.With().Int32("id", info.ID).Logger()
ctx := logger.WithContext(workCtx)
if err := c.execute(ctx, info); err != nil {
if errors.Is(err, errWaiting) {
c.logger.
logger.
Trace().
Int32("id", info.ID).
Str("kind", info.Kind).
Str("args", string(info.EncodedArgs)).
Msg("Job Waiting")
} else {
c.recordError(info, err)
c.logger.
logger.
Warn().
Err(err).
Int("attempt", info.Attempts).
Int32("id", info.ID).
Msg("Job Error")
}
<-c.availableWorkers
} else {
c.logger.
logger.
Trace().
Int32("id", info.ID).
Str("kind", info.Kind).
Str("args", string(info.EncodedArgs)).
Msg("Executing job")
@@ -396,14 +396,14 @@ func (c *Client) execute(ctx context.Context, info *JobInfo) error {
ctx, cancel = context.WithTimeout(ctx, t)
defer cancel()
}
logger := zerolog.Ctx(ctx)
if err := w.Work(ctx); err != nil {
c.recordError(info, err)
c.logger.
logger.
Warn().
Err(err).
Int("attempt", info.Attempts).
Int32("id", info.ID).
Msg("Job Error")
} else {
err := c.db.RunInTx(func(db db.TxHandler) error {
@@ -420,17 +420,15 @@ func (c *Client) execute(ctx context.Context, info *JobInfo) error {
return nil
})
if err != nil {
c.logger.
logger.
Warn().
Err(err).
Int("attempt", info.Attempts).
Int32("id", info.ID).
Msg("Error marking job as completed")
} else {
c.logger.
logger.
Trace().
Int("attempt", info.Attempts).
Int32("id", info.ID).
Msg("Job Completed")
}