In the implementation I'm working on there is a lot of event system (ES) code and there is an out-scaled publisher server. The publish/transport services are turned off on the CM server and all the ES code is deployed to both of them. Version of Tridion is 2013SP1.
My question is which services are required for running all the ES code? I'm especially interested in the following on the out-scaled publisher.
The publisher and transport services are running, but what about the service host? Does it need to be running as well?
Some time ago I found some information about what service runs what code, but for the life of me I can't seem to dig it up once again. All I could find now are these two(three) articles but I couldn't really come to a conclusion to my dilemma.
Some are pretty straightforward, while others – I’m looking at you, event system – vary by what you’re implementing.
TridionServiceHost is used for debugging External Content Library (ECL) extensions, as well as publish events in the Event System.
TcmServiceHost.exe fires the event that occurs when a Publish Transaction is created; TcmPublisher.exe fires publishing events based on Tridion.ContentManager.Extensibility.Events.PublishingEventArgs;
TcmServiceHost.exe You use this Windows Service process if you connect to the Core Service through net.tcp. This includes the use of Content Manager Explorer and Experience Manager.
TcmPublisher.exe Any functionality related to publishing uses this process. That is, to debug any Event Handler code that is triggered by an action related to publishing, as well as any template code executed during publishing, attach to TcmPublisher.exe
Besides that specific one, an "overview" of the: "item types/args <=> service" would also be useful.