Browse Source

[ruby/sinatra-sequel] Use Ruby 3.3-rc and enable YJIT (#8449)

This also removes torquebox as it is no longer maintained:

    The TorqueBox project is no longer actively developed nor
    maintained. Do not use it for development or production usage unless
    you are willing and able to fix issues as they come up.

https://github.com/torquebox/torquebox/

Implement `update` similar to roda, by making sure the new value is
different.
Petrik de Heus 1 year ago
parent
commit
8ac54838f7

+ 1 - 2
frameworks/Ruby/sinatra-sequel/Gemfile

@@ -6,7 +6,6 @@ gem 'puma', '~> 3.9', :require=>false
 gem 'sequel', '~> 5.0'
 gem 'sequel', '~> 5.0'
 gem 'sinatra', '~> 2.0', :require=>'sinatra/base'
 gem 'sinatra', '~> 2.0', :require=>'sinatra/base'
 gem 'slim', '~> 3.0'
 gem 'slim', '~> 3.0'
-gem 'torquebox-web', '>= 4.0.0.beta3', '< 5', :platforms=>:jruby, :require=>false
 gem 'unicorn', '~> 5.2', :platforms=>[:ruby, :mswin], :require=>false
 gem 'unicorn', '~> 5.2', :platforms=>[:ruby, :mswin], :require=>false
 
 
 group :mysql do
 group :mysql do
@@ -16,6 +15,6 @@ end
 
 
 group :postgresql do
 group :postgresql do
   gem 'jdbc-postgres', '~> 9.4', :platforms=>:jruby, :require=>'jdbc/postgres'
   gem 'jdbc-postgres', '~> 9.4', :platforms=>:jruby, :require=>'jdbc/postgres'
-  gem 'pg', '~> 0.19', :platforms=>[:ruby, :mswin]
+  gem 'pg', '~> 1.5', :platforms=>[:ruby, :mswin]
   gem 'sequel_pg', '~> 1.6', :platforms=>:ruby, :require=>false
   gem 'sequel_pg', '~> 1.6', :platforms=>:ruby, :require=>false
 end
 end

+ 0 - 1
frameworks/Ruby/sinatra-sequel/README.md

@@ -18,7 +18,6 @@ The tests will be run with:
 * [Puma 3](http://puma.io)
 * [Puma 3](http://puma.io)
 * [Passenger 5](https://www.phusionpassenger.com)
 * [Passenger 5](https://www.phusionpassenger.com)
 * [Unicorn 5](https://bogomips.org/unicorn/)
 * [Unicorn 5](https://bogomips.org/unicorn/)
-* [TorqueBox 4.0](http://torquebox.org)
 * [Sinatra 2](http://www.sinatrarb.com)
 * [Sinatra 2](http://www.sinatrarb.com)
 * [Sequel 5](http://sequel.jeremyevans.net)
 * [Sequel 5](http://sequel.jeremyevans.net)
 * [Slim 3](http://slim-lang.com)
 * [Slim 3](http://slim-lang.com)

+ 0 - 40
frameworks/Ruby/sinatra-sequel/benchmark_config.json

@@ -121,46 +121,6 @@
         "display_name": "sinatra-sequel-postgres-unicorn-mri",
         "display_name": "sinatra-sequel-postgres-unicorn-mri",
         "versus": "rack-sequel-postgres-unicorn-mri",
         "versus": "rack-sequel-postgres-unicorn-mri",
         "notes": ""
         "notes": ""
-      },
-      "torquebox-jruby": {
-        "db_url": "/db",
-        "query_url": "/queries?queries=",
-        "fortune_url": "/fortunes",
-        "update_url": "/updates?queries=",
-        "port": 8080,
-        "approach": "Realistic",
-        "classification": "Micro",
-        "database": "MySQL",
-        "framework": "sinatra-sequel",
-        "language": "Ruby",
-        "orm": "Full",
-        "platform": "Rack",
-        "webserver": "TorqueBox",
-        "os": "Linux",
-        "database_os": "Linux",
-        "display_name": "sinatra-sequel-torquebox-jruby",
-        "versus": "rack-sequel-torquebox-jruby",
-        "notes": ""
-      },
-      "postgres-torquebox-jruby": {
-        "db_url": "/db",
-        "query_url": "/queries?queries=",
-        "fortune_url": "/fortunes",
-        "update_url": "/updates?queries=",
-        "port": 8080,
-        "approach": "Realistic",
-        "classification": "Micro",
-        "database": "Postgres",
-        "framework": "sinatra-sequel",
-        "language": "Ruby",
-        "orm": "Full",
-        "platform": "Rack",
-        "webserver": "TorqueBox",
-        "os": "Linux",
-        "database_os": "Linux",
-        "display_name": "sinatra-sequel-postgres-torquebox-jruby",
-        "versus": "rack-sequel-postgres-torquebox-jruby",
-        "notes": ""
       }
       }
     }
     }
   ]
   ]

+ 0 - 34
frameworks/Ruby/sinatra-sequel/config.toml

@@ -86,23 +86,6 @@ platform = "Rack"
 webserver = "Passenger"
 webserver = "Passenger"
 versus = "rack-sequel-passenger-mri"
 versus = "rack-sequel-passenger-mri"
 
 
-[postgres-torquebox-jruby]
-urls.plaintext = "/plaintext"
-urls.json = "/json"
-urls.db = "/db"
-urls.query = "/queries?queries="
-urls.update = "/updates?queries="
-urls.fortune = "/fortunes"
-approach = "Realistic"
-classification = "Micro"
-database = "Postgres"
-database_os = "Linux"
-os = "Linux"
-orm = "Full"
-platform = "Rack"
-webserver = "TorqueBox"
-versus = "rack-sequel-postgres-torquebox-jruby"
-
 [unicorn-mri]
 [unicorn-mri]
 urls.plaintext = "/plaintext"
 urls.plaintext = "/plaintext"
 urls.json = "/json"
 urls.json = "/json"
@@ -119,20 +102,3 @@ orm = "Full"
 platform = "Rack"
 platform = "Rack"
 webserver = "Unicorn"
 webserver = "Unicorn"
 versus = "rack-sequel-unicorn-mri"
 versus = "rack-sequel-unicorn-mri"
-
-[torquebox-jruby]
-urls.plaintext = "/plaintext"
-urls.json = "/json"
-urls.db = "/db"
-urls.query = "/queries?queries="
-urls.update = "/updates?queries="
-urls.fortune = "/fortunes"
-approach = "Realistic"
-classification = "Micro"
-database = "MySQL"
-database_os = "Linux"
-os = "Linux"
-orm = "Full"
-platform = "Rack"
-webserver = "TorqueBox"
-versus = "rack-sequel-torquebox-jruby"

+ 3 - 1
frameworks/Ruby/sinatra-sequel/hello_world.rb

@@ -84,7 +84,9 @@ class HelloWorld < Sinatra::Base
       DB.synchronize do
       DB.synchronize do
         Array.new(bounded_queries) do
         Array.new(bounded_queries) do
           world = World.with_pk(rand1)
           world = World.with_pk(rand1)
-          world.update(:randomnumber=>rand1)
+          new_value = rand1
+          new_value = rand1 while new_value == world.randomnumber
+          world.update(randomnumber: new_value)
           world
           world
         end
         end
       end
       end

+ 3 - 1
frameworks/Ruby/sinatra-sequel/sinatra-sequel-base.dockerfile

@@ -1,4 +1,6 @@
-FROM ruby:2.4
+FROM ruby:3.3-rc
+
+ENV RUBY_YJIT_ENABLE=1
 
 
 ADD ./ /sinatra-sequel
 ADD ./ /sinatra-sequel
 WORKDIR /sinatra-sequel
 WORKDIR /sinatra-sequel

+ 3 - 1
frameworks/Ruby/sinatra-sequel/sinatra-sequel-passenger-mri.dockerfile

@@ -1,4 +1,6 @@
-FROM ruby:2.4
+FROM ruby:3.3-rc
+
+ENV RUBY_YJIT_ENABLE=1
 
 
 ADD ./ /sinatra-sequel
 ADD ./ /sinatra-sequel
 WORKDIR /sinatra-sequel
 WORKDIR /sinatra-sequel

+ 3 - 1
frameworks/Ruby/sinatra-sequel/sinatra-sequel-postgres-passenger-mri.dockerfile

@@ -1,4 +1,6 @@
-FROM ruby:2.4
+FROM ruby:3.3-rc
+
+ENV RUBY_YJIT_ENABLE=1
 
 
 ADD ./ /sinatra-sequel
 ADD ./ /sinatra-sequel
 WORKDIR /sinatra-sequel
 WORKDIR /sinatra-sequel

+ 0 - 14
frameworks/Ruby/sinatra-sequel/sinatra-sequel-postgres-torquebox-jruby.dockerfile

@@ -1,14 +0,0 @@
-FROM jruby:9.1
-
-ADD ./ /sinatra-sequel
-WORKDIR /sinatra-sequel
-
-ENV THREAD_FACTOR=2
-
-RUN bundle install --jobs=4 --gemfile=/sinatra-sequel/Gemfile --path=/sinatra-sequel/sinatra-sequel/bundle
-
-ENV DBTYPE=postgresql
-
-EXPOSE 8080
-
-CMD export MAX_CONCURRENCY=$(( 2 * $(nproc) )) && bundle exec torquebox run --io-threads $(( MAX_CONCURRENCY / 2 )) --worker-threads $MAX_CONCURRENCY -b 0.0.0.0 -p 8080 -e production

+ 3 - 1
frameworks/Ruby/sinatra-sequel/sinatra-sequel-postgres-unicorn-mri.dockerfile

@@ -1,4 +1,6 @@
-FROM ruby:2.4
+FROM ruby:3.3-rc
+
+ENV RUBY_YJIT_ENABLE=1
 
 
 ADD ./ /sinatra-sequel
 ADD ./ /sinatra-sequel
 WORKDIR /sinatra-sequel
 WORKDIR /sinatra-sequel

+ 3 - 1
frameworks/Ruby/sinatra-sequel/sinatra-sequel-postgres.dockerfile

@@ -1,4 +1,6 @@
-FROM ruby:2.4
+FROM ruby:3.3-rc
+
+ENV RUBY_YJIT_ENABLE=1
 
 
 ADD ./ /sinatra-sequel
 ADD ./ /sinatra-sequel
 WORKDIR /sinatra-sequel
 WORKDIR /sinatra-sequel

+ 0 - 14
frameworks/Ruby/sinatra-sequel/sinatra-sequel-torquebox-jruby.dockerfile

@@ -1,14 +0,0 @@
-FROM jruby:9.1
-
-ADD ./ /sinatra-sequel
-WORKDIR /sinatra-sequel
-
-ENV THREAD_FACTOR=2
-
-RUN bundle install --jobs=4 --gemfile=/sinatra-sequel/Gemfile --path=/sinatra-sequel/sinatra-sequel/bundle
-
-ENV DBTYPE=mysql
-
-EXPOSE 8080
-
-CMD export MAX_CONCURRENCY=$(( 2 * $(nproc) )) && bundle exec torquebox run --io-threads $(( MAX_CONCURRENCY / 2 )) --worker-threads $MAX_CONCURRENCY -b 0.0.0.0 -p 8080 -e production

+ 3 - 1
frameworks/Ruby/sinatra-sequel/sinatra-sequel-unicorn-mri.dockerfile

@@ -1,4 +1,6 @@
-FROM ruby:2.4
+FROM ruby:3.3-rc
+
+ENV RUBY_YJIT_ENABLE=1
 
 
 ADD ./ /sinatra-sequel
 ADD ./ /sinatra-sequel
 WORKDIR /sinatra-sequel
 WORKDIR /sinatra-sequel

+ 3 - 1
frameworks/Ruby/sinatra-sequel/sinatra-sequel.dockerfile

@@ -1,4 +1,6 @@
-FROM ruby:2.4
+FROM ruby:3.3-rc
+
+ENV RUBY_YJIT_ENABLE=1
 
 
 ADD ./ /sinatra-sequel
 ADD ./ /sinatra-sequel
 WORKDIR /sinatra-sequel
 WORKDIR /sinatra-sequel