How to control pooledObject?

I want when the scene was start, a pooledObject will be instantiated each 3s. Then, I want this will be instantiate faster (2s, 1s,…). But I can’t, because the instantiate code (in Move() method) must be call in Start() method.

public float moveTime = 3f;
    	
    void Start () {
    	InvokeRepeating("Move", moveTime, moveTime);
    }

I can’t call Move() method in Update() because It will create many objects each frame loaded. But if Move() method in Start(), It can’t update the moveTime variable.

Does someone have any idea?
Thanks!

You could use Coroutines.

public float timeInterval = 1f;

	void Start()
	{
		StartCoroutine (Do ());
	}

	public IEnumerator Do()
	{
		int c = 0;
		while(c < 10)
		{
			Instantiate (object, position, rotation);
			c++;
			yield return new WaitForSeconds(timeInterval);
		}
	}