Re: More efficient build farm animal wakeup?
От | Thomas Munro |
---|---|
Тема | Re: More efficient build farm animal wakeup? |
Дата | |
Msg-id | CA+hUKGKNkG=wxi9KdRKOrSc9Ja4bYjboPtD0imNzUSdcQL1kaw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: More efficient build farm animal wakeup? (Magnus Hagander <magnus@hagander.net>) |
Список | pgsql-hackers |
On Mon, Nov 21, 2022 at 10:31 AM Magnus Hagander <magnus@hagander.net> wrote: > Um, branches of interest will only pick up when it gets a new *branch*, not a new *commit*, so I think that would be avery different problem to solve. And I don't think we have new branche *that* often... Sure, could be done with an extra different request you make from time to time or keeping the existing list. No strong opinions on that, I was just observing that it could also be combined, something like: Client: I have 14@1234, 15@1234, HEAD@1234; what should I do now, boss? Server: You should fetch 14 (it has a new commit) and 16 (it's a new branch you didn't mention). > I'd imagine something like a > GET https://git.postgresql.org/buildfarm-branchtips > X-branch-master: a4adc31f69 > X-branch-REL_14_STABLE: b33283cbd3 > X-longpoll: 120 > > For that one it would check branch master and rel 14, and if either branchtip doesn't match what was in the header, it'dreturn immediately with a textfile that's basically > master:<whateveritis> > > if master has changed and not REL_14. > > If nothing has changed, go into longpoll for 120 seconds based on the header, and if nothing at all has changed in thattime, return a 304. LGTM, that's exactly the sort of thing I was imagining. > We could also use something like a websocket to just stream the changes out over. True. The reason I started on about long polling instead of websockets is that I was imagining that the simpler, dumber protocol where the client doesn't even really know it's participating a new kind of magic would be more cromulent in ye olde perl script (no new cpan dependencies). > In either case it would also need to change the buildfarm client to run as a daemon rather than a cronjob I think? (obviouslyoptional, we don't have to remove the current abilities) Given that the point of the build farm is (these days) to test on weird computers and operating systems, I expect that proper 'run like a service' support would be painful or not get done. It'd be nice if there were some way to make this work with simple crontab entries...
В списке pgsql-hackers по дате отправления: