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 (closed)