Conveyer using a curve or path -
In "Ucurve.Blend", a vertical U-shaped curve-path was used to shape a conveyer belt/production line.
For a shaped path-curve the items couldn't be arrayed as would be usual for a straight conveyer. An array following a curve would distort items on the belt at it's corners. A path and 5 seperate items (cubes) were used instead.
A path can only have the one set of valuation-time keyframes meaning that multiple items would all be traversing the path piled on top of each other.
The solution used here was to have a duplicate but separate path for each of the 5 items and those placed in layers 1 to 5.. Each path had it's own valuation 0 & 1.0 evaluation frames offset by the delay between the first and next item appearing at it's start. (20 frames apart) (See Dope sheet)
When played right through, for 5 items 20 frames apart, some 180 frames are necessary to accomodate all 5 items from the 1st's appearence at the start of the path, to the 5th reaching it's end.
In order to satisfy the need for a 'contiguous loop, the frame where the 5th item appears at the path's start is 81 so we loop the animation between frames 81 & 100. (19 frames in all) --> Layers 1 to 5 selected.
This provides a looped animation in Blender but would be a trifle short for video so the 19 frames are output as H264 Lossless video. This is imported into the VSE and the video strip duplicated and appended as many times as required. The result, a smooth ongoing loop.
What's really happening is that the cubes (items) are moving only 19 frames forward then switching back to their start positions for another 19 frames and so on, giving the illusion they're advancing forward contiguously.
ADDENDUM: 13 April 2019
Because the path's end is also at the exit 'hole', the cubes stop at that location and just sit there. Each cube is therefore 'switched off' with the the Outliner's eye icon at the frame it reaches the path's end, plus 1.
The same is done at the path's starting point. Cubes are made invisible until
due to move.