Car Exhaust Flame Splitter One Shot Particles at Random Intervals ?

Any suggestions on how do i achieve a similar effect to this :

Effect can be viewed at 0:25.

So far i have random intervals set as though when i want the particle to play.
However i am unable to achieve “one shot” particles.

void Awake()
	{
		particles.enableEmission = false;
		InvokeRepeating("SpitFlames", 2f, 10f);
	}

void SpitFlames()
	{
		int x = Random.Range(0,6);

		if( x == 0)
			print("Hello"); // Play One Shot Particle Here. 
                                           // If i use ParticleSystem.play(); it fires but dosent stop even though looping is turned off.
                    

		 
	}

Well You can start a Coroutine that stops the animations after a certain amount of time (the animation length), something like that :

    private IEnumerator Cor_flame_thrower()
    {
         animation.enableEmision = true;
// or
         animation.Play();
         yield return new WaitForSeconds(animationLength);
animation.enableEmission = false;
// or
         animation.Stop();
    }

But I think you’re doing it wrong in the first place, are you sure you have set the animation wrap mode to “once” ?