Delayed jobs queue problem (lot of tasks and keeping growing)

Infos:

  • Used Zammad version: 3.1.0-17
  • Used Zammad installation source: Official docker hub
  • Operating system: Ubuntu 18.04 Server LTS
  • Browser + version: Chrome 77

Expected behavior:

  • Delayed jobs are processed well, queue is not growing

Actual behavior:

  • We have growth around +10k of delayed job DAILY!

Steps to reproduce the behavior:

  • Virtual server with 8 cores, 40 Gb of RAM
  • Around 20 agents
  • Around 17k tickets
  • Total 15 overviews
    Just keep working in system. At the end of day there is 9-10k of jobs in queue.

Also, I can’t run rake in latest docker container, It gives error:

root@dce5bdfbb7eb:/opt/zammad# rake
I, [2019-09-25T18:49:03.064984 #475-47331145835960]  INFO -- : Setting.set('models_searchable', ["Organization", "User", "Ticket", "Chat::Session", "KnowledgeBase::Answer::Translation"])
rake aborted!
LoadError: cannot load such file -- selenium-webdriver
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/usr/local/bundle/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `block in require'
/usr/local/bundle/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bundle/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `require'
/opt/zammad/test/browser_test_helper.rb:4:in `<main>'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
/usr/local/bundle/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `block in require'
/usr/local/bundle/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bundle/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `require'
/opt/zammad/test/browser/aaa_getting_started_test.rb:1:in `<main>'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
/usr/local/bundle/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `block in require'
/usr/local/bundle/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bundle/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `require'
/usr/local/bundle/gems/railties-5.2.3/lib/rails/test_unit/runner.rb:50:in `block in load_tests'
/usr/local/bundle/gems/railties-5.2.3/lib/rails/test_unit/runner.rb:50:in `each'
/usr/local/bundle/gems/railties-5.2.3/lib/rails/test_unit/runner.rb:50:in `load_tests'
/usr/local/bundle/gems/railties-5.2.3/lib/rails/test_unit/runner.rb:39:in `run'
/usr/local/bundle/gems/railties-5.2.3/lib/rails/test_unit/runner.rb:35:in `rake_run'
/usr/local/bundle/gems/railties-5.2.3/lib/rails/test_unit/testing.rake:16:in `block in <main>'
/usr/local/bundle/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
Tasks: TOP => default => test
(See full trace by running task with --trace)

Scheduler’s log sometimes has errors:

zammad-scheduler_1      | E, [2019-09-25T19:09:26.660725 #1-69906702651020] ERROR -- : /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:201:in `block in wait_poll'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:190:in `loop'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:190:in `wait_poll'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:151:in `internal_poll'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:277:in `internal_poll'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:145:in `block in poll'
zammad-scheduler_1      |   /usr/local/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:155:in `synchronize'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:145:in `poll'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:799:in `acquire_connection'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:523:in `checkout'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:382:in `connection'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1014:in `retrieve_connection'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:118:in `retrieve_connection'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:90:in `connection'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/relation/calculations.rb:196:in `block in pluck'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:584:in `skip_query_cache_if_necessary'
zammad-scheduler_1      |   /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/relation/calculations.rb:196:in `pluck'
zammad-scheduler_1      |   /opt/zammad/app/models/ticket/overviews.rb:20:in `all'
zammad-scheduler_1      |   /opt/zammad/app/models/ticket/overviews.rb:79:in `index'

Postgres shows 125-175 connections.

Yesterday I’ve truncated this table and performed zammad run rake searchindex:rebuild but today we have again 10k jobs.

What could we do this that? :frowning: Our clients are suffering from big notifications delays.

UPD: Currently it hang at least for 8 minutes on this job:

--- !ruby/object:Transaction::BackgroundJob
item:
  :object: Ticket
  :object_id: 17416
  :user_id: 1074
  :created_at: !ruby/object:ActiveSupport::TimeWithZone
    utc: &1 2019-09-25 10:15:50.517752491 Z
    zone: !ruby/object:ActiveSupport::TimeZone
      name: Etc/UTC
    time: *1
  :type: update
  :article_id: 185370
  :changes:
    time_unit:
    - !ruby/object:BigDecimal 18:0.5e1
    - !ruby/object:BigDecimal 18:0.8e1
params:
  :interface_handle: application_server

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.