exercism-config 0.78.0 → 0.79.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 37e5adfdefe004d2528a29254e0e0f2ba872c846f43ef4f87df2e7a5c9fca1f4
4
- data.tar.gz: ec9223378a44a65942dfe91c26cc3ab900058071a1a5a31ccca1895dcb755d61
3
+ metadata.gz: 75f1646a6035b52f15adf8009bd1813142aacb183dd292586103ac92a3eb8bcf
4
+ data.tar.gz: e3f6555dfcce9300b2f228288e78b7024530729a84cc801e988329f76a7bc47e
5
5
  SHA512:
6
- metadata.gz: c20da1f12c29cd611d92d73c7e6dcf847dbb577601dcaa3d728d1642fb8ca9b58761114c9f2e4063f9b018412d400be9daf466f7ca37e1ece726aae212793783
7
- data.tar.gz: 5aa552a5137910b03e564775868cb52ee7afcbbba2162d32721bfaf864a1008b3be172e51c168fd3fec71e9565c73dd00f1dc965718d93992b6b42818df385a6
6
+ metadata.gz: abd507cb222e44902547f311245120a37a8ac82418dbeb405b4ffe5ca314d3d8e209c15f167e4cb358137b4406c200cbb9b83760d977bce881a22fe8ba13b0f2
7
+ data.tar.gz: f1321cdebd33b7ade32c9e7245fb48b18a2f5162aa87492a9fe9a66e24749c5155ae37ea4f2bb9d5bd94aff1578e88dd0b466ad525bb6a7ea609d1542dfe5daf
@@ -5,9 +5,11 @@ module Exercism
5
5
 
6
6
  extend Mandate::Memoize
7
7
 
8
- def self.create!(type, submission_uuid, language, exercise, extra = {})
8
+ def self.create!(type, submission_uuid, language, exercise,
9
+ run_in_background: false,
10
+ **data)
9
11
  job_id = SecureRandom.uuid.tr('-', '')
10
- data = extra.merge(
12
+ data.merge!(
11
13
  id: job_id,
12
14
  submission_uuid: submission_uuid,
13
15
  type: type,
@@ -16,13 +18,14 @@ module Exercism
16
18
  created_at: Time.now.utc.to_i
17
19
  )
18
20
 
21
+ queue_key = run_in_background ? key_for_queued_in_background : key_for_queued
19
22
  redis = Exercism.redis_tooling_client
20
23
  redis.multi do
21
24
  redis.set(
22
25
  "job:#{job_id}",
23
26
  data.to_json
24
27
  )
25
- redis.rpush(key_for_queued, job_id)
28
+ redis.rpush(queue_key, job_id)
26
29
  redis.set("submission:#{submission_uuid}:#{type}", job_id)
27
30
  end
28
31
  new(job_id, data)
@@ -164,7 +167,7 @@ module Exercism
164
167
  Exercism.config.aws_tooling_jobs_bucket
165
168
  end
166
169
 
167
- %w[queued locked executed cancelled].each do |key|
170
+ %w[queued queued_in_background locked executed cancelled].each do |key|
168
171
  ToolingJob.singleton_class.class_eval do
169
172
  define_method "key_for_#{key}" do
170
173
  Exercism.env.production? ? key : "#{Exercism.env}:#{key}"
@@ -1,3 +1,3 @@
1
1
  module ExercismConfig
2
- VERSION = '0.78.0'.freeze
2
+ VERSION = '0.79.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exercism-config
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.78.0
4
+ version: 0.79.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Walker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-11 00:00:00.000000000 Z
11
+ date: 2021-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-dynamodb