mirror of
https://github.com/coder/coder.git
synced 2025-07-09 11:45:56 +00:00
* chore: add Acquirer to provisionerdserver pkg Signed-off-by: Spike Curtis <spike@coder.com> * code review improvements & fixes Signed-off-by: Spike Curtis <spike@coder.com> * feat: integrate Acquirer for provisioner jobs Signed-off-by: Spike Curtis <spike@coder.com> * Fix imports, whitespace Signed-off-by: Spike Curtis <spike@coder.com> * provisionerdserver always closes; remove poll interval from playwright Signed-off-by: Spike Curtis <spike@coder.com> * post jobs outside transactions Signed-off-by: Spike Curtis <spike@coder.com> * graceful shutdown in test Signed-off-by: Spike Curtis <spike@coder.com> * Mark AcquireJob deprecated Signed-off-by: Spike Curtis <spike@coder.com> * Graceful shutdown on all provisionerd tests Signed-off-by: Spike Curtis <spike@coder.com> * Deprecate, not remove CLI flags Signed-off-by: Spike Curtis <spike@coder.com> --------- Signed-off-by: Spike Curtis <spike@coder.com>
30 lines
670 B
Go
30 lines
670 B
Go
package provisionerjobs
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
"golang.org/x/xerrors"
|
|
|
|
"github.com/coder/coder/v2/coderd/database"
|
|
"github.com/coder/coder/v2/coderd/database/pubsub"
|
|
)
|
|
|
|
const EventJobPosted = "provisioner_job_posted"
|
|
|
|
type JobPosting struct {
|
|
ProvisionerType database.ProvisionerType `json:"type"`
|
|
Tags map[string]string `json:"tags"`
|
|
}
|
|
|
|
func PostJob(ps pubsub.Pubsub, job database.ProvisionerJob) error {
|
|
msg, err := json.Marshal(JobPosting{
|
|
ProvisionerType: job.Provisioner,
|
|
Tags: job.Tags,
|
|
})
|
|
if err != nil {
|
|
return xerrors.Errorf("marshal job posting: %w", err)
|
|
}
|
|
err = ps.Publish(EventJobPosted, msg)
|
|
return err
|
|
}
|