orats 0.9.2 → 0.9.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/lib/orats/templates/base.rb +4 -3
- data/lib/orats/templates/includes/new/rails/.env +3 -0
- data/lib/orats/templates/includes/new/rails/config/puma.rb +17 -6
- data/lib/orats/templates/includes/new/rails/config/unicorn.rb +37 -6
- data/lib/orats/templates/includes/new/rails/public/deploy.html +14 -0
- data/lib/orats/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83d8c43283eef490327ff90675b0e529a7357bab
|
4
|
+
data.tar.gz: 9a1776f981cc18005e89c35e44aa83801038e777
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2682482822e5a30a57568a0696a44b00afc750d2bc2907e01e2399d29208b8525fe287db1ef59b3dc307f422a6be2daee586ba65c6cf2f2c8cbd0da8ba27bad
|
7
|
+
data.tar.gz: 355f88e955b843ab9d1f7bcb4b890e42c93551d3587dc00474101045dc1b546b131f4efa5d5c6843d42ddfcba43c319164a98fcb5fc99dd79c5d974c452bd6d3
|
data/README.md
CHANGED
@@ -145,6 +145,7 @@ All of the changes have git commits to go with them. After generating a project
|
|
145
145
|
- Add disqus
|
146
146
|
- **Public**:
|
147
147
|
- Add 404, 422, 500 and 502 pages so they can be served directly from your reverse proxy
|
148
|
+
- Add a deploy page that could be swapped in/out during server deploys
|
148
149
|
- Add all of the favicons output by the favicon generator
|
149
150
|
|
150
151
|
#### Try the base template
|
data/lib/orats/templates/base.rb
CHANGED
@@ -358,15 +358,16 @@ def add_layout_partials
|
|
358
358
|
commit 'Add layout partials'
|
359
359
|
end
|
360
360
|
|
361
|
-
def
|
361
|
+
def add_public_html_pages
|
362
362
|
task __method__
|
363
363
|
|
364
364
|
orats_to_local 'public/404.html'
|
365
365
|
orats_to_local 'public/422.html'
|
366
366
|
orats_to_local 'public/500.html'
|
367
367
|
orats_to_local 'public/502.html'
|
368
|
+
orats_to_local 'public/deploy.html'
|
368
369
|
|
369
|
-
commit 'Add
|
370
|
+
commit 'Add public html pages'
|
370
371
|
end
|
371
372
|
|
372
373
|
def update_sass
|
@@ -517,7 +518,7 @@ add_favicon_task
|
|
517
518
|
add_helpers
|
518
519
|
add_layout
|
519
520
|
add_layout_partials
|
520
|
-
|
521
|
+
add_public_html_pages
|
521
522
|
update_sass
|
522
523
|
update_coffeescript
|
523
524
|
remove_unused_files_from_git
|
@@ -29,6 +29,9 @@ ACTION_MAILER_DEFAULT_TO: 'me@app_name.com'
|
|
29
29
|
DATABASE_URL: 'postgresql://db_user@db_location:db_port/app_name?encoding=utf8&pool=5&timeout=5000'
|
30
30
|
CACHE_URL: 'redis://cache_location:cache_port/0'
|
31
31
|
|
32
|
+
# listen on a tcp port or unix socket
|
33
|
+
LISTEN_ON: '0.0.0.0:3000'
|
34
|
+
|
32
35
|
# try setting these to 0/16 in production and tweak from there
|
33
36
|
# in development mode you should use 0/1 ( multi-threaded + debugging = :< )
|
34
37
|
# these only apply if you're using puma
|
@@ -1,26 +1,37 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# Feel free to experiment with this, 0/16 is a good starting point.
|
3
2
|
threads ENV['THREADS_MIN'].to_i, ENV['THREADS_MAX'].to_i
|
3
|
+
|
4
|
+
# Go with at least 1 per CPU core, a higher amount will usually help for fast
|
5
|
+
# responses such as reading from a cache.
|
4
6
|
workers ENV['WORKERS'].to_i
|
5
7
|
|
6
|
-
|
7
|
-
|
8
|
+
# Listen on a tcp port or unix socket.
|
9
|
+
if ENV['LISTEN_ON'].include?(':')
|
10
|
+
bind "tcp://#{ENV['LISTEN_ON']}"
|
8
11
|
else
|
9
|
-
bind "unix:#{ENV['
|
12
|
+
bind "unix:#{ENV['LISTEN_ON']}"
|
10
13
|
end
|
11
14
|
|
15
|
+
# The path where the pid file will be written to.
|
12
16
|
pidfile "#{ENV['RUN_STATE_PATH']}/#{ENV['SERVICE']}.pid"
|
13
17
|
|
18
|
+
# Use a shorter timeout instead of the 60s default. If you are handling large
|
19
|
+
# uploads you may want to increase this.
|
14
20
|
worker_timeout 30
|
15
21
|
|
22
|
+
# The paths to where logs will be written to.
|
16
23
|
stdout_redirect "#{ENV['LOG_PATH']}/#{ENV['SERVICE']}.access.log",
|
17
24
|
"#{ENV['LOG_PATH']}/#{ENV['SERVICE']}.error.log"
|
18
25
|
|
26
|
+
# Preload the application before starting the workers.
|
19
27
|
preload_app!
|
20
28
|
|
21
|
-
|
29
|
+
# The path to the puma binary without any arguments, it will inherit everything
|
30
|
+
# from the original process.
|
31
|
+
restart_command 'bin/puma'
|
22
32
|
|
23
33
|
on_worker_boot do
|
34
|
+
# Don't bother having the master process hang onto older connections.
|
24
35
|
defined?(ActiveRecord::Base) and
|
25
36
|
ActiveRecord::Base.connection.disconnect!
|
26
37
|
|
@@ -1,30 +1,45 @@
|
|
1
|
-
#
|
1
|
+
# Heavily inspired by gitlab:
|
2
2
|
# https://github.com/gitlabhq/gitlabhq/blob/master/config/unicorn.rb.example
|
3
3
|
|
4
|
+
# Go with at least 1 per CPU core, a higher amount will usually help for fast
|
5
|
+
# responses such as reading from a cache.
|
4
6
|
worker_processes ENV['WORKERS'].to_i
|
5
7
|
|
6
|
-
|
7
|
-
|
8
|
+
# Listen on a tcp port or unix socket.
|
9
|
+
if ENV['LISTEN_ON'].include?(':')
|
10
|
+
listen ENV['LISTEN_ON']
|
8
11
|
else
|
9
|
-
|
10
|
-
|
12
|
+
# Use a shorter socket backlog for quicker failover when busy.
|
13
|
+
listen ENV['LISTEN_ON'], backlog: 64
|
11
14
|
end
|
12
15
|
|
16
|
+
# The path where the pid file will be written to.
|
13
17
|
pid "#{ENV['RUN_STATE_PATH']}/#{ENV['SERVICE']}.pid"
|
14
18
|
|
19
|
+
# Use a shorter timeout instead of the 60s default. If you are handling large
|
20
|
+
# uploads you may want to increase this.
|
15
21
|
timeout 30
|
16
22
|
|
23
|
+
# The paths to where logs will be written to.
|
17
24
|
stdout_path "#{ENV['LOG_PATH']}/#{ENV['SERVICE']}.access.log"
|
18
25
|
stderr_path "#{ENV['LOG_PATH']}/#{ENV['SERVICE']}.error.log"
|
19
26
|
|
27
|
+
# Combine Ruby 2.0.0dev or REE with "preload_app true" for memory savings:
|
28
|
+
# http://rubyenterpriseedition.com/faq.html#adapt_apps_for_cow
|
20
29
|
preload_app true
|
21
|
-
|
22
30
|
GC.respond_to?(:copy_on_write_friendly=) and
|
23
31
|
GC.copy_on_write_friendly = true
|
24
32
|
|
33
|
+
# Enable this flag to have unicorn test client connections by writing the
|
34
|
+
# beginning of the HTTP headers before calling the application. This
|
35
|
+
# prevents calling the application for connections that have disconnected
|
36
|
+
# while queued. This is only guaranteed to detect clients on the same
|
37
|
+
# host unicorn runs on, and unlikely to detect disconnects even on a
|
38
|
+
# fast LAN.
|
25
39
|
check_client_connection false
|
26
40
|
|
27
41
|
before_fork do |server, worker|
|
42
|
+
# Don't bother having the master process hang onto older connections.
|
28
43
|
defined?(ActiveRecord::Base) and
|
29
44
|
ActiveRecord::Base.connection.disconnect!
|
30
45
|
|
@@ -45,9 +60,25 @@ before_fork do |server, worker|
|
|
45
60
|
rescue Errno::ENOENT, Errno::ESRCH
|
46
61
|
end
|
47
62
|
end
|
63
|
+
|
64
|
+
# Throttle the master from forking too quickly by sleeping. Due
|
65
|
+
# to the implementation of standard Unix signal handlers, this
|
66
|
+
# helps (but does not completely) prevent identical, repeated signals
|
67
|
+
# from being lost when the receiving process is busy.
|
68
|
+
# sleep 1
|
48
69
|
end
|
49
70
|
|
50
71
|
after_fork do |server, worker|
|
72
|
+
# Per-process listener ports for debugging, admin, migrations, etc..
|
73
|
+
# addr = "127.0.0.1:#{9293 + worker.nr}"
|
74
|
+
# server.listen(addr, tries: -1, delay: 5, tcp_nopush: true)
|
75
|
+
|
51
76
|
defined?(ActiveRecord::Base) and
|
52
77
|
ActiveRecord::Base.establish_connection
|
78
|
+
|
79
|
+
# If preload_app is true, then you may also want to check and
|
80
|
+
# restart any other shared sockets/descriptors such as Memcached,
|
81
|
+
# and Redis. TokyoCabinet file handles are safe to reuse
|
82
|
+
# between any number of forked children (assuming your kernel
|
83
|
+
# correctly implements pread()/pwrite() system calls).
|
53
84
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The server is being updated</title>
|
5
|
+
<meta charset="utf-8"/>
|
6
|
+
<style>
|
7
|
+
</style>
|
8
|
+
</head>
|
9
|
+
|
10
|
+
<body>
|
11
|
+
<h1>The server is being updated</h1>
|
12
|
+
<p>A new version of this site is being deployed right now. Please try again in about a minute or less.</p>
|
13
|
+
</body>
|
14
|
+
</html>
|
data/lib/orats/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: orats
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Janetakis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -143,6 +143,7 @@ files:
|
|
143
143
|
- lib/orats/templates/includes/new/rails/public/422.html
|
144
144
|
- lib/orats/templates/includes/new/rails/public/500.html
|
145
145
|
- lib/orats/templates/includes/new/rails/public/502.html
|
146
|
+
- lib/orats/templates/includes/new/rails/public/deploy.html
|
146
147
|
- lib/orats/templates/includes/new/rails/test/fixtures/accounts.yml
|
147
148
|
- lib/orats/templates/includes/new/rails/test/models/account_test.rb
|
148
149
|
- lib/orats/ui.rb
|