71 lines
2.1 KiB
Go
71 lines
2.1 KiB
Go
package workers
|
||
|
||
import (
|
||
"beacon/activities"
|
||
"beacon/config"
|
||
"beacon/workflows"
|
||
"fmt"
|
||
"go.temporal.io/sdk/client"
|
||
"go.temporal.io/sdk/worker"
|
||
"go.uber.org/zap"
|
||
"log"
|
||
)
|
||
|
||
func StartWorkflow(cnf *config.TemporalConfig) error {
|
||
// 创建使用默认选项的 Temporal 客户端。
|
||
c, err := client.Dial(client.Options{HostPort: fmt.Sprintf("%s:%d", cnf.Host, cnf.Port)})
|
||
if err != nil {
|
||
log.Fatalln("Unable to create Temporal client", err)
|
||
}
|
||
defer c.Close()
|
||
|
||
taskQueue := "data-task-queue"
|
||
|
||
// 创建一个监听指定任务队列的 Worker。
|
||
w := worker.New(c, taskQueue, worker.Options{})
|
||
|
||
// 将工作流和带有真实 Go 后缀的活动注册到 Worker。
|
||
w.RegisterWorkflow(workflows.TestRunWorkflow)
|
||
w.RegisterWorkflow(workflows.DynamicTestSuiteWorkflow)
|
||
w.RegisterActivity(activities.LoadCompositeCaseSteps)
|
||
//(for later) w.RegisterActivity(activities.AddSuffixActivity)
|
||
|
||
// 注意:Python 和 ts 活动将由 Python/ts 进程处理,此处未进行注册。
|
||
|
||
// 启动 Worker。此调用会阻塞,直到 Worker 被中断。
|
||
err = w.Run(worker.InterruptCh())
|
||
if err != nil {
|
||
zap.L().Error(fmt.Sprintf("Unable to start worker: %v", err))
|
||
}
|
||
return nil
|
||
}
|
||
|
||
/*func main() {
|
||
// 创建使用默认选项的 Temporal 客户端。
|
||
c, err := client.Dial(client.Options{HostPort: "temporal.newai.day:17233"})
|
||
if err != nil {
|
||
log.Fatalln("Unable to create Temporal client", err)
|
||
}
|
||
defer c.Close()
|
||
|
||
taskQueue := "test-task-queue"
|
||
|
||
// 创建一个监听指定任务队列的 Worker。
|
||
w := worker.New(c, taskQueue, worker.Options{})
|
||
|
||
// 将工作流和带有真实 Go 后缀的活动注册到 Worker。
|
||
w.RegisterWorkflow(workflows.TestRunWorkflow)
|
||
w.RegisterWorkflow(workflows.DynamicTestSuiteWorkflow)
|
||
w.RegisterActivity(activities.LoadCompositeCaseSteps)
|
||
//(for later) w.RegisterActivity(activities.AddSuffixActivity)
|
||
|
||
// 注意:Python 和 ts 活动将由 Python/ts 进程处理,此处未进行注册。
|
||
|
||
// 启动 Worker。此调用会阻塞,直到 Worker 被中断。
|
||
err = w.Run(worker.InterruptCh())
|
||
if err != nil {
|
||
log.Fatalln("Unable to start Worker", err)
|
||
}
|
||
}
|
||
*/
|