Skip to content

Commit

Permalink
add email in worker env
Browse files Browse the repository at this point in the history
  • Loading branch information
pomdtr committed Jan 24, 2025
1 parent a0c6ee0 commit 03300f7
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 13 deletions.
2 changes: 1 addition & 1 deletion cmd/crons.go
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ func CronRunner() *cron.Cron {
continue
}

wk := worker.NewWorker(a)
wk := worker.NewWorker(a, k.String("email"))

command, err := wk.Command(context.Background(), job.Args...)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion cmd/email.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ func NewCmdEmail() *cobra.Command {
return fmt.Errorf("failed to load app: %w", err)
}

wk := worker.NewWorker(a)
wk := worker.NewWorker(a, k.String("email"))

if err := wk.SendEmail(cmd.Context(), strings.NewReader(message.String())); err != nil {
return fmt.Errorf("failed to send email: %w", err)
Expand Down
2 changes: 1 addition & 1 deletion cmd/fetch.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ func NewCmdFetch() *cobra.Command {
return fmt.Errorf("failed to load app: %w", err)
}

wk := worker.NewWorker(a)
wk := worker.NewWorker(a, k.String("email"))
if err := wk.Start(); err != nil {
return fmt.Errorf("failed to start worker: %w", err)
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func NewCmdRun() *cobra.Command {
return fmt.Errorf("failed to load app: %w", err)
}

wk := worker.NewWorker(a)
wk := worker.NewWorker(a, k.String("email"))
command, err := wk.Command(cmd.Context(), args[1:]...)
if err != nil {
return fmt.Errorf("failed to create command: %w", err)
Expand Down
6 changes: 3 additions & 3 deletions cmd/up.go
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ func NewCmdUp() *cobra.Command {
return
}

wk := worker.NewWorker(a)
wk := worker.NewWorker(a, k.String("email"))
command, err := wk.Command(sess.Context(), sess.Command()...)
if err != nil {
fmt.Fprintf(sess, "failed to get command: %v\n", err)
Expand Down Expand Up @@ -347,7 +347,7 @@ func NewCmdUp() *cobra.Command {
return fmt.Errorf("failed to load app: %v", err)
}

wk := worker.NewWorker(a)
wk := worker.NewWorker(a, k.String("email"))
if err := wk.SendEmail(context.Background(), strings.NewReader(string(data))); err != nil {
return fmt.Errorf("failed to send email: %v", err)
}
Expand Down Expand Up @@ -535,7 +535,7 @@ func (me *Handler) GetWorker(appname, rootDir, domain string) (*worker.Worker, e
return nil, fmt.Errorf("failed to load app: %w", err)
}

wk := worker.NewWorker(a)
wk := worker.NewWorker(a, k.String("email"))

wk.Logger = me.logger
if err := wk.Start(); err != nil {
Expand Down
15 changes: 9 additions & 6 deletions worker/worker.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ type Worker struct {
App app.App
Env map[string]string
StartedAt time.Time
Email string

port int
idleTimer *time.Timer
Expand All @@ -62,7 +63,7 @@ type Worker struct {
activeRequests atomic.Int32
}

func commandEnv(a app.App) []string {
func commandEnv(a app.App, email string) []string {
env := []string{}

for k, v := range a.Env {
Expand All @@ -79,6 +80,7 @@ func commandEnv(a app.App) []string {
env = append(env, fmt.Sprintf("SMALLWEB_APP_NAME=%s", a.Name))
env = append(env, fmt.Sprintf("SMALLWEB_APP_DOMAIN=%s", a.Domain))
env = append(env, fmt.Sprintf("SMALLWEB_APP_URL=%s", a.URL))
env = append(env, fmt.Sprintf("SMALLWEB_EMAIL=%s", email))

if deno, ok := os.LookupEnv("DENO_EXEC_PATH"); ok {
env = append(env, fmt.Sprintf("DENO_EXEC_PATH=%s", deno))
Expand All @@ -92,9 +94,10 @@ func commandEnv(a app.App) []string {
return env
}

func NewWorker(app app.App) *Worker {
func NewWorker(app app.App, email string) *Worker {
worker := &Worker{
App: app,
App: app,
Email: email,
}

return worker
Expand Down Expand Up @@ -189,7 +192,7 @@ func (me *Worker) Start() error {

command := exec.Command(deno, args...)
command.Dir = me.App.Dir()
command.Env = commandEnv(me.App)
command.Env = commandEnv(me.App, me.Email)

stdoutPipe, err := command.StdoutPipe()
if err != nil {
Expand Down Expand Up @@ -503,7 +506,7 @@ func (me *Worker) Command(ctx context.Context, args ...string) (*exec.Cmd, error
command := exec.CommandContext(ctx, deno, denoArgs...)
command.Dir = me.App.Dir()

command.Env = commandEnv(me.App)
command.Env = commandEnv(me.App, me.Email)

return command, nil
}
Expand Down Expand Up @@ -532,7 +535,7 @@ func (me *Worker) SendEmail(ctx context.Context, message io.Reader) error {
command := exec.CommandContext(ctx, deno, denoArgs...)
command.Dir = me.App.Dir()
command.Stderr = os.Stderr
command.Env = commandEnv(me.App)
command.Env = commandEnv(me.App, me.Email)

stdin, err := command.StdinPipe()
if err != nil {
Expand Down

0 comments on commit 03300f7

Please sign in to comment.