Close the page after certain interval [Puppeteer]

I have used puppeteer for one of my projects to open webpages in headless chrome, do some actions and then close the page. These actions, however, are user dependent. I want to attach a lifetime to the page, where it closes automatically after, say 30 minutes, of opening irrespective of whether any action is performed or not.

I have tried setTimeout() functionality of Node JS but it didn’t work (or I just couldn’t figure how to make it work).

const puppeteer = require('puppeteer-core');

const browser = await puppeteer.connect({browserURL: browser_url});
const page = await browser.newPage();
// timer starts ticking here upon creation of new page (maybe in a subroutine and not block the main thread)

/**
 ..
 Do something
 ..
*/

// timer ends and closePage() is triggered.

const closePage = (page) => {
    if (!page.isClosed()) {
        page.close();
    }
}