mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-01-12 04:08:29 +01:00
Server for stable, curated Haskell package sets
Problem ==== Too slow response from stackage.org/feed/. So slow that my favorite RSS client (Slack's RSS integration) doesn't work due to timeout. See https://github.com/fpco/stackage-server/issues/277 for details. How? ==== Delete the content of the feed if stackage.org/feed is given `withDiff=False` as its query parameter. Why? ==== I can't confirm it's the true cause of the slowdown (because the server is too hard to run on my machine!). But anyway I think the html content of the feed is too much: I just want to know the new LTS Haskell is released by the feed. I'll click the link if I do want to see the detailed updates. In addition, there's a reason generating the content causes the slowdown: Other pages using `getSnapshots` (e.g. https://www.stackage.org/snapshots, https://www.stackage.org/) are not as slow as https://www.stackage.org/feed/. So the `getSnapshots` query dosen't seem to be the biggest cause. And the left possible cause is `mkFeed`. NOTE ==== I've tested nothing because it's too hard to run this app without configuring my AWS account. |
||
|---|---|---|
| .azure | ||
| app | ||
| config | ||
| design | ||
| etc | ||
| src | ||
| static | ||
| templates | ||
| .dir-locals.el | ||
| .ghci | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .hindent.yaml | ||
| .stylish-haskell.yaml | ||
| LICENSE | ||
| package.yaml | ||
| README.md | ||
| stack.yaml | ||
stackage-server
Server for stable, curated Haskell package sets
This repo is part of the Stackage project, and the live server can be viewed at https://www.stackage.org.
Building locally
Build locally by passing the dev flag to it:
$ stack build . --flag stackage-server:dev
Now, initially you need to run the cron job to create and populate the database:
$ export PGSTRING=postgresql://postgres:password@localhost:5432/stackage
$ stack exec stackage-server-cron
Note that you need to modify the PGSTRING environment variable according to your actual database configuration. Also, you need to create an empty database before running the cron job. Note that it takes quites some time for it to load your database.
After this, run the stackage server:
$ export PGSTRING=postgresql://postgres:password@localhost:5432/stackage
$ stack exec stackage-server