There not cheap but are a great product.
Webasto or Espar diesel fired coolant heaters. @ 1500 cdn www.espar.com
Hook to your battery, then the timer fires the heater up for when you set it, Burns about 1/2 a litre of fuel per hour and puts out 20000 btu. Would warm you skid engine to 150 degrees in 30 to 40 mins imo.
We use them on 200 to 400 hp engines and the 2 hour max run time is plenty.
There made to mount on the machine but I have one is a metal tool box that I hook to variuos machines. Clips on the battery, quick couplers on the coolant hose. Has its own 3 litre fuel tank. Set the timer and walk away.
Gen set is good if you have more time,
0w30 engine oil is a must. It does wonders without any other help. Probably start at 0f or even -10 f if its a good starting engine.
Of course your battery need to be right up to snuff also.
Ken