hotcell-server 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/hot_cell/server/errors.rb +7 -2
- data/lib/hot_cell/server/version.rb +1 -1
- data/lib/hot_cell/worker.rb +2 -1
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 53155a8007bc4aca15485dd336ec9a4f74942a0315d14b605e3f05b224d68f01
|
|
4
|
+
data.tar.gz: bfb05888e741fb289abb075712894900b022c16d32affd5f21d53a44f2f437da
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d9a0fe3431faabd5b3f19fdac5afd4f5346e85dc4513598242253134d7b392352d15de9ff9debab298103997ac1a28938c1cb1cbb04db2f80121e02dd2fe72c9
|
|
7
|
+
data.tar.gz: 8e35674f33719a62d26a4a269a19017deb9e7de30b8afbf5802a22cba0db6abd5a9348f90cb81e7691dd9f8bb6f3db01d1c8e7e0e0ba4db106a9a7547ce6788a
|
|
@@ -7,8 +7,13 @@ module HotCell
|
|
|
7
7
|
|
|
8
8
|
# The input could not be decoded. Terminal: the same bytes fail the same way on an idle cell. Common
|
|
9
9
|
# rather than exceptional — it covers truncated uploads, formats the build was not compiled with, and
|
|
10
|
-
# formats deliberately refused.
|
|
11
|
-
|
|
10
|
+
# formats deliberately refused. A subclass may name the failure's cause, for a caller that must act
|
|
11
|
+
# on the reason without parsing a message.
|
|
12
|
+
class UnreadableInput < OperationError
|
|
13
|
+
def self.cause
|
|
14
|
+
nil
|
|
15
|
+
end
|
|
16
|
+
end
|
|
12
17
|
|
|
13
18
|
# Reported as `killed` with `cause: memory` rather than as an ordinary failure, because it is the
|
|
14
19
|
# decompression-bomb case and a caller must be able to act on it without parsing a message.
|
data/lib/hot_cell/worker.rb
CHANGED
|
@@ -219,7 +219,8 @@ module HotCell
|
|
|
219
219
|
|
|
220
220
|
response
|
|
221
221
|
rescue *operation.unreadable => error
|
|
222
|
-
|
|
222
|
+
cause = error.class.respond_to?(:cause) ? error.class.cause : nil
|
|
223
|
+
refuse "unreadable", error, timing, cause: cause
|
|
223
224
|
end
|
|
224
225
|
|
|
225
226
|
# `post` returns what each output received and the worker used to throw all of it away, leaving the
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hotcell-server
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Mike Dalessio
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 1.
|
|
18
|
+
version: 1.1.0
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 1.
|
|
25
|
+
version: 1.1.0
|
|
26
26
|
description: |
|
|
27
27
|
Runs a HotCell container. A supervisor listens on two Unix sockets, forks a worker for each request,
|
|
28
28
|
and enforces a wall clock deadline and resource limits on it. Write the work as a subclass of
|
|
@@ -64,8 +64,8 @@ licenses:
|
|
|
64
64
|
- MIT
|
|
65
65
|
metadata:
|
|
66
66
|
homepage_uri: https://github.com/basecamp/hotcell
|
|
67
|
-
source_code_uri: https://github.com/basecamp/hotcell/tree/v1.
|
|
68
|
-
changelog_uri: https://github.com/basecamp/hotcell/blob/v1.
|
|
67
|
+
source_code_uri: https://github.com/basecamp/hotcell/tree/v1.1.0/hotcell-server
|
|
68
|
+
changelog_uri: https://github.com/basecamp/hotcell/blob/v1.1.0/CHANGELOG.md
|
|
69
69
|
documentation_uri: https://basecamp.github.io/hotcell/
|
|
70
70
|
bug_tracker_uri: https://github.com/basecamp/hotcell/issues
|
|
71
71
|
rubygems_mfa_required: 'true'
|
|
@@ -83,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
83
83
|
- !ruby/object:Gem::Version
|
|
84
84
|
version: '0'
|
|
85
85
|
requirements: []
|
|
86
|
-
rubygems_version: 4.0.
|
|
86
|
+
rubygems_version: 4.0.16
|
|
87
87
|
specification_version: 4
|
|
88
88
|
summary: 'Run a HotCell: the supervisor, the worker, and the operation API.'
|
|
89
89
|
test_files: []
|