[squeak-dev] Server timeouts and 504 return codes

Tobias Pape Das.Linux at gmx.de
Mon Jan 28 07:56:14 UTC 2019


> On 28.01.2019, at 01:39, Chris Muller <ma.chris.m at gmail.com> wrote:
> 
> 
> Levente, what about the trunk directory listing, can it cache that?
> That is the _#1 thing_ source.squeak.org is accessing and sending back
> over, and over, and over again -- every time that MC progress box that
> says, "Updating [repository name]".

I speeded that up in squeaksource3 by caching the listing on squeak and pushing that as txt.
(see SqueakSource-Caching-Core-topa.2 for the model side and SqueakSource-Core-topa.104.mcz for the view part, especially SSRawDirectoryListing and 

SSUrlFilter>>rawListingOfProject: 

rawListingOfProject: projectName
	<get>
	<path: '/{projectName}/?format=raw'>
	<produces: 'text/plain'>

	self projectNamed: projectName do: [ :project |
		(self isAllowed: SSAccessPolicy read in: project)
			ifFalse: [ self authResponseFor: project ]
			ifTrue: [ self requestContext respond: [:response |
				response nextPutAll: project rawDirectoryListing]]].

in http://www.squeaksource.com/squeaksource3.html )

TL;DR: serve the directory listing as plain list of file names when ?format=raw is requested. Only invalidate this listing when a version is added or removed.

-t


More information about the Squeak-dev mailing list