У меня проблема с redmine (3.4.11) / потоком puma
К моему redmine подключены две базы данных (10.3.9-MariaDB, azure sql server)
Я создал модель, которая использует dynamic365_database.yml для azure
class TIfPmsIssueInfo < ActiveRecord::Base
config_legacy =
YAML.load_file(Rails.root.join('config/dynamics365_database.yml')).symbolize_keys
establish_connection(config_legacy)
end
dynamics365_database.yml
(MS azure SQL SERVER):
adapter: sqlserver
encoding: utf8
database: ky*********
username: pm******
password: rh********
host: ky**********
azure: true
pool: 20
timeout: 25000
login_timeout: 60000
Я использую следующее драгоценные камни:
- tiny_tds (2.1.2)
- activerecord-sqlserver-adapter (4.2.18)
Я использую потоки Puma на Redmine
/usr/local/rvm/gems/ruby-2.3.8/wrappers/puma -e production -p 80 -w 12 –daemon
Но иногда возникают следующие ошибки:
NoMethodError (undefined method `do' for false:FalseClass):
plugins/_crm_requirement/lib/_crm_requirement_hook.rb:168:in `crmmap_save'
plugins/_crm_requirement/lib/_crm_requirement_hook.rb:116:in `controller_issues_edit_after_save'
lib/redmine/hook.rb:61:in `block (2 levels) in call_hook'
lib/redmine/hook.rb:61:in `each'
lib/redmine/hook.rb:61:in `block in call_hook'
lib/redmine/hook.rb:58:in `tap'
lib/redmine/hook.rb:58:in `call_hook'
lib/redmine/hook.rb:91:in `call_hook'
_crm_requirement_hook.rb 168 строка:
TIfPmsIssueInfo.transaction do
begin
crm_issue_info = TIfPmsIssueInfo.where("issue_id = #{issue.id}")
...
...
rescue Exception => ex
error = ex.message
raise ActiveRecord::Rollback
end
end
Иногда это нормально, иногда возникает ошибка, но я не знаю, какая часть моего кода неправильная.