Przeglądaj źródła

Setup GC threads on Crystal tests (#3001)

* Setup GC Threads on Amber

* Setup GC threads on Kemal/Postgres

* Setup GC Threads on Kemal/Redis

* Setup GC Thread on Crystal server

* Remove GC_NPROCS

It is safer to adjust GC_MARKERS than GC_NPROCS,
since GC_MARKERS has no impact on the lock implementation.

* Remove GC_NPROCS

It is safer to adjust GC_MARKERS than GC_NPROCS,
since GC_MARKERS has no impact on the lock implementation.

* Remove GC_NPROCS

It is safer to adjust GC_MARKERS than GC_NPROCS,
since GC_MARKERS has no impact on the lock implementation.

* Remove GC_NPROCS

It is safer to adjust GC_MARKERS than GC_NPROCS,
since GC_MARKERS has no impact on the lock implementation.

* Minify HTML

* Minify HTML

* Remove extra variable

* Minify HTML

* Minify HTML

* Update amber dependencies

* Update shard.lock

* Remove env

* Add AMBER_ENV to enable production mode

* Format html view

* Format html view

* Format html view

* Format html view

* Ensure type is String

Convert type from (String | Nil) to String

* Change data to fortunes

* Defines amber pipeline

* Set production env (#1)

* Set production environments on Kemal and Amber

* Remove unnedded require
Faustino Aguilar 7 lat temu
rodzic
commit
8a6c5b803b

+ 0 - 1
frameworks/Crystal/amber/config/application.cr

@@ -1,5 +1,4 @@
 Amber::Server.configure do |app|
   app.name = "Amber web application."
   app.port = 3000
-  app.env = "production"
 end

+ 5 - 2
frameworks/Crystal/amber/config/routes.cr

@@ -1,10 +1,13 @@
 Amber::Server.configure do |app|
+  pipeline :web do
+  end
+
   routes :web do
-    get "/plaintext", BenchmarkController, :plaintext
-    get "/json", BenchmarkController, :json
     get "/db", BenchmarkController, :db
+    get "/json", BenchmarkController, :json
     get "/queries", BenchmarkController, :queries
     get "/updates", BenchmarkController, :updates
     get "/fortunes", BenchmarkController, :fortunes
+    get "/plaintext", BenchmarkController, :plaintext
   end
 end

+ 4 - 0
frameworks/Crystal/amber/setup.sh

@@ -6,6 +6,10 @@ shards install
 
 crystal build --release --no-debug src/amber.cr
 
+export GC_MARKERS=1
+
+export AMBER_ENV=production
+
 for i in $(seq 1 $(nproc --all)); do
   ./amber &
 done

+ 24 - 8
frameworks/Crystal/amber/shard.lock

@@ -1,8 +1,12 @@
 version: 1.0
 shards:
   amber:
-    github: Amber-Crystal/amber
-    version: 0.2.5
+    github: amberframework/amber
+    version: 0.3.0
+
+  amber_spec:
+    github: amberframework/amber-spec
+    version: 0.1.1
 
   callback:
     github: mosop/callback
@@ -17,13 +21,17 @@ shards:
     version: 0.4.2
 
   granite_orm:
-    github: Amber-Crystal/granite-orm
-    version: 0.7.1
+    github: amberframework/granite-orm
+    version: 0.7.4
 
   icr:
     github: TechMagister/crystal-icr
     commit: b28bb938cc9e9e439424217c074a9168d253ba4b
 
+  jasper_helpers:
+    github: amberframework/jasper-helpers
+    version: 0.1.5
+
   kilt:
     github: jeromegn/kilt
     version: 0.3.3
@@ -42,11 +50,15 @@ shards:
 
   pg:
     github: will/crystal-pg
-    version: 0.13.3
+    version: 0.13.4
+
+  quartz_mailer:
+    github: amberframework/quartz-mailer
+    version: 0.2.0
 
   radix:
     github: luislavena/radix
-    commit: 211418416adba540b594af2260e1b5d0c8877c9e
+    commit: 905bd9e14b9996c793ac95e1e77d2809f7f79568
 
   redis:
     github: stefanwille/crystal-redis
@@ -58,14 +70,18 @@ shards:
 
   shell-table:
     github: jwaldrip/shell-table.cr
-    version: 0.9.1
+    version: 0.9.2
 
   slang:
     github: jeromegn/slang
     commit: b817c89c7e5ae39562710c0d6c7f42cee685e14f
 
+  smtp:
+    github: raydf/smtp.cr
+    commit: 36854c38435ce104914cb6f44e08c23d8defd143
+
   spinner:
-    github: elorest/spinner
+    github: askn/spinner
     version: 0.1.1
 
   sqlite3:

+ 3 - 3
frameworks/Crystal/amber/shard.yml

@@ -2,16 +2,16 @@ name: amber
 version: 0.1.0
 
 authors:
-  - Amber <[email protected]>
+  - Amber <amberframework.org>
 
 license: MIT
 
 dependencies:
   amber:
-    github: Amber-Crystal/amber 
+    github: amberframework/amber 
 
   granite_orm:
-    github: Amber-Crystal/granite-orm
+    github: amberframework/granite-orm
 
   pg:
     github: will/crystal-pg

+ 2 - 2
frameworks/Crystal/amber/src/amber.cr

@@ -1,8 +1,8 @@
 require "amber"
 
-require "./controllers/**"
 require "./models/**"
-require "./views/**"
+require "./controllers/**"
+
 require "../config/*"
 
 Amber::Server.instance.run

+ 2 - 3
frameworks/Crystal/amber/src/controllers/benchmark_controller.cr

@@ -18,8 +18,7 @@ class BenchmarkController < Amber::Controller::Base
 
   def json
     response.content_type = JSON
-    results = {message: "Hello, World!"}
-    results.to_json
+    {message: "Hello, World!"}.to_json
   end
 
   def db
@@ -71,7 +70,7 @@ class BenchmarkController < Amber::Controller::Base
 
     fortunes = Fortune.all
     fortunes << fortune
-    fortunes.sort_by! { |fortune| fortune.message || "" }
+    fortunes.sort_by! { |fortune| fortune.message.to_s }
 
     render("fortune/index.ecr")
   end

+ 2 - 2
frameworks/Crystal/amber/src/views/fortune/index.ecr

@@ -6,7 +6,7 @@
   <% fortunes.each do |fortune| %>
     <tr>
     <td><%= fortune.id %></td>
-    <td><%= HTML.escape(fortune.message || "") %></td>
+    <td><%= HTML.escape(fortune.message.to_s) %></td>
     </tr>
   <% end %>
-</table>
+</table>

+ 2 - 2
frameworks/Crystal/amber/src/views/layouts/main.ecr

@@ -4,6 +4,6 @@
 	<title>Fortunes</title>
 </head>
 <body>
-  <%= content %>
+	<%= content %>
 </body>
-</html>
+</html>

+ 2 - 0
frameworks/Crystal/crystal/setup.sh

@@ -6,6 +6,8 @@ shards install
 
 crystal build --release --no-debug server.cr -o server.out
 
+export GC_MARKERS=1
+
 for i in $(seq 1 $(nproc --all)); do
   ./server.out &
 done

+ 1 - 1
frameworks/Crystal/crystal/views/fortunes.ecr

@@ -17,4 +17,4 @@
 		<% end %>
 	</table>
 </body>
-</html>
+</html>

+ 4 - 0
frameworks/Crystal/kemal/setup-postgres.sh

@@ -6,6 +6,10 @@ shards install
 
 crystal build --release --no-debug server-postgres.cr
 
+export GC_MARKERS=1
+
+export KEMAL_ENV=production
+
 for i in $(seq 1 $(nproc --all)); do
   ./server-postgres &
 done

+ 4 - 0
frameworks/Crystal/kemal/setup-redis.sh

@@ -9,6 +9,10 @@ shards install
 
 crystal build --release --no-debug server-redis.cr
 
+export GC_MARKERS=1
+
+export KEMAL_ENV=production
+
 for i in $(seq 1 $(nproc --all)); do
   ./server-redis &
 done

+ 1 - 1
frameworks/Crystal/kemal/views/fortunes.ecr

@@ -17,4 +17,4 @@
 		<% end %>
 	</table>
 </body>
-</html>
+</html>