Merge branch 'fix-stuck-forked-project-import' into 'master'
Fix bug where projects would appear to be stuck in the forked import state A race condition existed between when Rails committed the `import_status` to `started` and when the Sidekiq worker forked a project. If this fork were quick, it's possible that the worker would attempt to move into the `finished` state before the `started` state took effect. As mentioned in https://github.com/mperham/sidekiq/wiki/Problems-and-Troubleshooting#cannot-find-modelname-with-id12345, we can either delay the worker to ensure the DB has a chance to update, or use the nice `after_commit_queue` gem to schedule the task after the state machine commit. See: * https://github.com/pluginaweek/state_machine/issues/191 * https://github.com/shellycloud/after_commit_queue Closes #2736 See merge request !1434
Showing
... | @@ -121,6 +121,8 @@ end | ... | @@ -121,6 +121,8 @@ end |
# State machine | # State machine | ||
gem "state_machine", '~> 1.2.0' | gem "state_machine", '~> 1.2.0' | ||
# Run events after state machine commits | |||
gem 'after_commit_queue' | |||
# Issue tags | # Issue tags | ||
gem 'acts-as-taggable-on', '~> 3.4' | gem 'acts-as-taggable-on', '~> 3.4' | ||
... | ... |