I have 2 Sidekiq workers:
Foo:
# frozen_string_literal: true
  class FooWorker
    include Sidekiq::Worker
    sidekiq_options queue: :foo
    def perform
      loop do
        File.open(File.join(Rails.root, 'foo.txt'), 'w') { |file| file.write('FOO') }
      end
    end
  end
Bar:
# frozen_string_literal: true
  class BarWorker
    include Sidekiq::Worker
    sidekiq_options queue: :bar
    def perform
      loop do
        File.open(File.join(Rails.root, 'bar.txt'), 'w') { |file| file.write('BAR') }
      end
    end
  end
Which has pretty the same functionality, both runs on different queues and the yaml file looks like this:
---
:queues:
  - foo
  - bar
development:
  :concurrency: 5
The problem is, even both are running and showing in the Busy page of Sidekiq UI, only one of them will actually create a file and put contents in. Shouldn't Sidekiq be multi-threaded?
Update:
- this happens only on my machine
 - i created a new project with rails new and same
 - i cloned a colleague project and ran his sidekiq and is working!!!
 - i used his sidekiq version, not working!
 
New Update:
- this happens also on my colleague machine if he clone my project
 - if I run 2 jobs with a finite loop ( like 10 times do something with a sleep), first job will be executed and then the second, but after the second finishes and start again both will work on same time as expected -- everyone who cloned the project from: github.com/ArayB/sidekiq-test encountered the problem.