How to cut a complex shape into a curved surface?
In complement to the answer given by Patdog (which stay the good answer corresponding to the exact question), you can also work on the ring on a flat surface and make the torch shape after, as it is easier to use the boolean modifier or other technics to make the rings when flat.

Here a stack of modifiers, starting from two flat shapes (the ring part and a slice to complement the torch) :


The slice is repeated using an array modifier and the ring part as 'start cap'
The curve gives the vertical shape for the torch
The simple deform makes the circular shape of the torch


The vertices on the border of the rings part and these on the border of the slice part need to correspond (same amount, same position)

You'll need to adjust a bit the two base objects positions relatively to their centers in order to have a good junction with the array modifier (so make sure to work with rounded measures in cm for instance). 

The amount of repetitions given by the 'count' of the array modifier will lead the torch diameter.

The curve (used in the curve modifier) shape can be adjusted on top of the stack so that you can see immediately the result on the rounded torch.



Once you have adjusted all as you want, you'll need to apply the modifiers and remove doubles to complete the junction of the simple deform bending.

The bottom part of the torch (with the texts) can be done the same way : a bent flat surface.

In both cases, just make sure to have the good/enough inner geometry so that the bending can be done smoothly.