github.com/gophercloud/gophercloud@v1.11.0/openstack/messaging/v2/queues/doc.go (about)

     1  /*
     2  Package queues provides information and interaction with the queues through
     3  the OpenStack Messaging (Zaqar) service.
     4  
     5  Lists all queues and creates, shows information for updates, deletes, and actions on a queue.
     6  
     7  Example to List Queues
     8  
     9  		listOpts := queues.ListOpts{
    10  			Limit: 10,
    11  		}
    12  
    13  		pager := queues.List(client, listOpts)
    14  
    15  	    err = pager.EachPage(func(page pagination.Page) (bool, error) {
    16  			queues, err := queues.ExtractQueues(page)
    17  			if err != nil {
    18  				panic(err)
    19  			}
    20  
    21  			for _, queue := range queues {
    22  				fmt.Printf("%+v\n", queue)
    23  			}
    24  
    25  			return true, nil
    26  		})
    27  
    28  Example to Create a Queue
    29  
    30  	createOpts := queues.CreateOpts{
    31  		QueueName:                  "My_Queue",
    32  		MaxMessagesPostSize:        262143,
    33  		DefaultMessageTTL:          3700,
    34  		DefaultMessageDelay:        25,
    35  		DeadLetterQueueMessageTTL:  3500,
    36  		MaxClaimCount:              10,
    37  		Extra:                      map[string]interface{}{"description": "Test queue."},
    38  	}
    39  
    40  	err := queues.Create(client, createOpts).ExtractErr()
    41  	if err != nil {
    42  		panic(err)
    43  	}
    44  
    45  Example to Update a Queue
    46  
    47  	updateOpts := queues.BatchUpdateOpts{
    48  		queues.UpdateOpts{
    49  			Op:    "replace",
    50  			Path:  "/metadata/_max_claim_count",
    51  			Value: 15,
    52  		},
    53  		queues.UpdateOpts{
    54  			Op: "replace",
    55  			Path: "/metadata/description",
    56  			Value: "Updated description test queue.",
    57  		},
    58  	}
    59  
    60  	updateResult, err := queues.Update(client, queueName, updateOpts).Extract()
    61  	if err != nil {
    62  		panic(err)
    63  	}
    64  
    65  Example to Get a Queue
    66  
    67  	queue, err := queues.Get(client, queueName).Extract()
    68  	if err != nil {
    69  		panic(err)
    70  	}
    71  
    72  Example to Delete a Queue
    73  
    74  	err := queues.Delete(client, queueName).ExtractErr()
    75  	if err != nil {
    76  		panic(err)
    77  	}
    78  
    79  Example to Get Message Stats of a Queue
    80  
    81  	queueStats, err := queues.GetStats(client, queueName).Extract()
    82  	if err != nil {
    83  		panic(err)
    84  	}
    85  
    86  Example to Share a queue
    87  
    88  	shareOpts := queues.ShareOpts{
    89  		Paths:   []queues.SharePath{queues.ShareMessages},
    90  		Methods: []queues.ShareMethod{queues.MethodGet},
    91  	}
    92  
    93  	queueShare, err := queues.Share(client, queueName, shareOpts).Extract()
    94  	if err != nil {
    95  		panic(err)
    96  	}
    97  
    98  Example to Purge a queue
    99  
   100  	purgeOpts := queues.PurgeOpts{
   101  		ResourceTypes: []queues.PurgeResource{
   102  			queues.ResourceMessages,
   103  		},
   104  	}
   105  
   106  	err := queues.Purge(client, queueName, purgeOpts).ExtractErr()
   107  	if err != nil {
   108  		panic(err)
   109  	}
   110  */
   111  package queues