func main() {
	config := marathon.NewDefaultConfig()
	config.URL = marathonURL
	client, err := marathon.NewClient(config)
	if err != nil {
		log.Fatalf("Make new marathon client error: %v", err)
	}

	app := marathon.Application{}
	app.ID = "queue-test"
	app.Command("sleep 5")
	app.Count(1)
	app.Memory(32)
	fmt.Println("Creating/updating app.")
	// Update application will either create or update the app.
	_, err = client.UpdateApplication(&app, false)
	if err != nil {
		log.Fatalf("Update application error: %v", err)
	}
	// wait until marathon will launch tasks
	err = client.WaitOnApplication(app.ID, 10*time.Second)
	if err != nil {
		log.Fatalln("Application deploy failure, timeout.")
	}
	fmt.Println("Application was deployed.")

	// get marathon queue by chance
	for i := 0; i < 30; i++ {
		// Avoid shadowing err from outer scope.
		var queue *marathon.Queue
		queue, err = client.Queue()
		if err != nil {
			log.Fatalf("Get queue error: %v\n", err)
		}
		if len(queue.Items) > 0 {
			fmt.Println(queue)
			break
		}
		fmt.Printf("Queue is blank now, retry(%d)...\n", 30-i)
		time.Sleep(time.Second)
	}

	// delete marathon queue delay
	err = client.DeleteQueueDelay(app.ID)
	if err != nil {
		log.Fatalf("Delete queue delay error: %v\n", err)
	}
	fmt.Println("Queue delay deleted.")

	return
}
func main() {
	config := marathon.NewDefaultConfig()
	config.URL = marathonURL
	client, err := marathon.NewClient(config)
	if err != nil {
		panic(err)
	}

	app := marathon.Application{}
	app.ID = "tasks-test"
	app.Cmd = "sleep 60"
	app.Instances = 3
	fmt.Println("Creating app.")
	// Update application will either create or update the app.
	_, err = client.UpdateApplication(&app, false)
	if err != nil {
		panic(err)
	}

	// wait until marathon will launch tasks
	client.WaitOnApplication(app.ID, 10*time.Second)
	fmt.Println("Tasks were deployed.")

	tasks, err := client.Tasks(app.ID)
	if err != nil {
		panic(err)
	}

	host := tasks.Tasks[0].Host
	fmt.Printf("Killing tasks on the host: %s\n", host)

	_, err = client.KillApplicationTasks(app.ID, &marathon.KillApplicationTasksOpts{Scale: true, Host: host})
	if err != nil {
		panic(err)
	}
}