[{"data":1,"prerenderedAt":260},["ShallowReactive",2],{"project-18617058":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":40,"post_text":43,"what":44,"said":86,"maker_in_thread":154,"shape":161,"grid":165,"attempts":222,"same_week":223,"maker_shows":42,"maker_hidden":252,"reader_version":253,"card":254},"18617058","chrome-aws-lambda","Run Puppeteer on AWS Lambda","title","Show HN: Run Puppeteer on AWS Lambda","https:\u002F\u002Fgithub.com\u002Falixaxel\u002Fchrome-aws-lambda","github.com","alixaxel",1544095177,2018,75,24,579,2155,27,"notable","infrastructure","serverless browser runtime","library",[24,25,26,27],"puppeteer","aws lambda","headless chrome","serverless","curious",0.118,{"positive":31,"neutral":32,"mixed":33,"critical":34},2,6,1,0,9,{"execution":37,"pricing":38,"performance":39},{"positive":34,"critical":34},{"positive":33,"critical":34},{"positive":34,"critical":34},[34,34,41,42,34,34,42,41,34,42,34,34,34,34,34,42,34,42,34,42,34,42,34,34],5,3,null,{"problem":45,"audience":56,"pricing":43,"motivation":43,"time_to_build":43,"stack":64,"openness":83,"stage":84,"team_size":85},{"value":46,"source":47,"evidence":48},"Running headless Chrome via Puppeteer on AWS Lambda is hard to set up","inferred",[49,53],{"id":50,"by":51,"text":52},"18621672","tnolet","I run a ton of Puppeteer jobs (300k in the last month), currently on EC2 and Digital Ocean VM's, mostly due to the subtle difficulties of running Puppeteer on Lambda. Will…",{"id":54,"by":11,"text":55},"18623332","I also run hundreds of thousands of puppeteer sessions every month, all on Lambda and so far I'm pretty happy with it, from scalability itself to session performance. Granted,…",{"value":57,"source":47,"evidence":58},"Developers running Puppeteer jobs on serverless infrastructure",[59,63],{"id":60,"by":61,"text":62},"18617406","nailer","This is fantastic. - I'm just getting started with Lambda so pardon if this is ignorant, but what's the cold start time of Chromium? Or can you warm start it somehow? - Since…",{"id":54,"by":11,"text":55},[65,73,79],{"value":66,"source":67,"evidence":68},"Puppeteer","maker",[69,72],{"id":70,"by":11,"text":71},"18617618","Well, puppeteer can be used for more than test suites (think screenshots, PDF rendering, proxified APIs, ...). But for running long automated tests, I'd probably look into…",{"id":54,"by":11,"text":55},{"value":74,"source":67,"evidence":75},"Chromium",[76],{"id":77,"by":11,"text":78},"18617495","Thanks! So usually with Lambda, you want your jobs to be as atomic\u002Fquick as possible, as Lambda is stateless and has a maximum duration of 15 minutes. As for the warm up times,…",{"value":80,"source":67,"evidence":81},"AWS Lambda",[82],{"id":77,"by":11,"text":78},"open_source","launched","unknown",{"praise":87,"objections":93,"requests":110,"questions":115,"alternatives":124},[88],{"value":89,"source":90,"evidence":91},"Maker reports good scalability and session performance on Lambda","commenter",[92],{"id":54,"by":11,"text":55},[94,102],{"value":95,"source":90,"evidence":96},"Chrome performance on Lambda is poor and cold starts are slow",[97,98],{"id":50,"by":51,"text":52},{"id":99,"by":100,"text":101},"18617569","sriram_iyengar","What is the advantage of running automated tests as lambda ? Typically when automation tests are run, they are long running processes and lambda execution may not be suitable.…",{"value":103,"source":90,"evidence":104},"Lambda's 15 minute limit makes long test suites unsuitable",[105,106],{"id":99,"by":100,"text":101},{"id":107,"by":108,"text":109},"18617645","asien","Lambda have a maximum running time of 15min. Even if you have « Cold Start » it won’t more than a minute for Chrome to be up and running. Meaning you’ll get at least 10 to 14…",[111],{"value":112,"source":90,"evidence":113},"Better rendering of fonts and emojis",[114],{"id":54,"by":11,"text":55},[116,120],{"value":117,"source":90,"evidence":118},"What is the cold start time of Chromium on Lambda?",[119],{"id":60,"by":61,"text":62},{"value":121,"source":90,"evidence":122},"Can Lambda handle long-running scraping jobs?",[123],{"id":60,"by":61,"text":62},[125,129,140,147],{"value":126,"source":67,"evidence":127},"Fargate or EC2 spot instances for long tests",[128],{"id":70,"by":11,"text":71},{"value":130,"source":90,"evidence":131},"Browserless Docker container",[132,136],{"id":133,"by":134,"text":135},"18618198","jpambrun","If you keep your Lambda warm, shouldn't you just use something like browserless (https:\u002F\u002Fgithub.com\u002Fjoelgriffith\u002Fbrowserless)?",{"id":137,"by":138,"text":139},"18620300","e1g","I run browserless Docker container on-prem and it works very well for us. Fire&forget, +1.",{"value":141,"source":90,"evidence":142},"serverless-puppeteer-layers",[143],{"id":144,"by":145,"text":146},"18629670","dschep","Here's another alternative lambda layer containing headless chrome with and puppeteer example: https:\u002F\u002Fgithub.com\u002FRafalWilinski\u002Fserverless-puppeteer-layers",{"value":148,"source":90,"evidence":149},"Google Cloud Functions with native Puppeteer support",[150],{"id":151,"by":152,"text":153},"18622994","thesandlord","Google App Engine and Google Cloud Functions got native support for Puppeteer a few months ago as well. Let me know what you think if you try it out.…",{"comments":41,"answered":42,"key":155},[156,157,160],{"id":70,"text":71},{"id":158,"text":159},"18623281","The performance of puppeteer is super bad on CGF (you can read more about it here https:\u002F\u002Fgithub.com\u002FGoogleChrome\u002Fpuppeteer\u002Fissues\u002F3120). It would actually be great to have…",{"id":54,"text":55},{"commenters":162,"max_depth":41,"maker_replies":41,"first_comment_mins":163,"lifespan_hours":164},15,69,30,[166,168,170,173,175,177,181,185,189,191,193,194,196,199,201,203,207,208,210,211,214,216,219,221],[99,34,34,167,100,34],"commenter\u002Fneutral\u002Fidea",[70,34,34,169,11,33],"project\u002Fneutral\u002Fidea",[171,34,41,172,100,34],"18617636","maker\u002Fpositive\u002Fnone",[107,34,42,174,108,34],"project\u002Fneutral\u002Fexecution",[176,34,34,167,100,34],"18617786",[178,34,34,179,180,34],"18619173","other\u002Fneutral\u002Fnone","defied",[182,34,42,183,184,34],"18619636","project\u002Fneutral\u002Fnone","hayd",[186,34,41,187,188,34],"18621260","project\u002Fpositive\u002Fpricing","whoisjuan",[190,34,34,179,51,34],"18621709",[50,33,42,192,51,34],"project\u002Fmixed\u002Fperformance",[151,33,34,179,152,34],[158,33,34,195,11,33],"other\u002Fcritical\u002Fperformance",[197,33,34,198,152,34],"18623772","other\u002Fneutral\u002Fperformance",[200,33,34,195,51,34],"18625805",[54,33,34,202,11,33],"project\u002Fpositive\u002Fperformance",[204,33,42,205,206,34],"18625166","maker\u002Fneutral\u002Fnone","russian_bot",[144,31,34,179,145,34],[60,42,42,209,61,34],"project\u002Fneutral\u002Fperformance",[77,42,34,209,11,33],[212,42,42,209,213,34],"18618081","Touche",[215,42,34,174,11,33],"18618123",[217,42,42,174,218,34],"18618283","pouta",[133,42,34,220,134,34],"other\u002Fcritical\u002Fidea",[137,42,34,179,138,34],[],[224,229,234,239,243,247],{"id":225,"name":226,"points":227,"category":228},"18640880","Visalist",565,"productivity",{"id":230,"name":231,"points":232,"category":233},"18666146","ShaderGif",144,"creative",{"id":235,"name":236,"points":237,"category":238},"18626281","Supportify",141,"consumer_social",{"id":240,"name":241,"points":242,"category":238},"18665475","Strength News",137,{"id":244,"name":245,"points":246,"category":228},"18656746","Egeria",113,{"id":248,"name":249,"points":250,"category":251},"18644560","geogee",112,"games",false,"v2",{"id":255,"name":5,"line":6,"ai":252,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":256,"top":18,"kw":257,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":258,"url":9,"mix":259,"praise":89,"objection":95,"sub":21},18617058,0.12,[24,25,26,27],"005300350300000303030300",[31,32,33,34],1793990982980]