コード例 #1
0
func ExecuteThread(msgs <-chan amqp.Delivery, request *messaging.ServiceRequest) {
	go func() {
		for d := range msgs {
			//fmt.Println("---------------------")
			//log.Printf("ProcessManager : Received a message: %s", d.Body)
			//fmt.Println("----------------------------")
			request.Body = d.Body

			var tempConf = configuration.ConfigurationManager{}.Get()
			var storedServiceConfiguration = configuration.StoreServiceConfiguration{}
			storedServiceConfiguration = tempConf
			request.Configuration = storedServiceConfiguration

			convertedWorkers := getRequiredWorkers(request, d.RoutingKey)
			response := startAtomicOperation(request, convertedWorkers)

			if response.IsSuccess {
				request.Log("Successfully Completed service run!")
				request.Log(response.Message)
				fmt.Println("Successfully Completed service run!")
				fmt.Println(response.Message)

			} else {
				request.Log("Failed service run!")
				request.Log(response.Message)
				fmt.Println("Failed service run!")
				fmt.Println(response.Message)
			}

			if request.MessageStack != nil {
				response.Stack = request.MessageStack
			}

		}

	}()
}