oveits / ProvisioningEngine

Ruby on Rails based ProvisioningEngine Frontend for provisioning of legacy systems via Apache Camel Backend (SOAP/XML+SPML+File import)
3 stars 6 forks source link

Site synchronization takes forever #4

Closed oveits closed 8 years ago

oveits commented 8 years ago

CSL9DEV OSV V8R1: image

oveits commented 8 years ago

Unfortunately, this is not resolved by issue #11. It still persists. Need to troubleshoot...

oveits commented 8 years ago

Full log on Deleyed Jobs web page:

ID
1450 Retry or Remove or Reload Job
Priority
0
Attempts
4
Handler
--- !ruby/object:Delayed::PerformableMethod
object: !ruby/object:Site
  attributes:
    id: 242
    name: site1
    customer_id: 213
    created_at: 2016-01-08 19:59:50.679084000 Z
    updated_at: 2016-01-14 17:07:18.957427947 Z
    status: synchronization in progress
    sitecode: 
    countrycode: '49'
    areacode: '54'
    localofficecode: '3892'
    extensionlength: '5'
    mainextension: '10000'
    gatewayIP: ''
method_name: :synchronizeSynchronously
args:
- true
Last Error
Toggle full message
undefined method `text' for nil:NilClass
/home/provisioningengine/ProvisioningEnginev0.5.15/lib/update_db.rb:142:in `block in perform'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/2.1.0/rexml/element.rb:902:in `block in each'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/2.1.0/rexml/xpath.rb:67:in `each'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/2.1.0/rexml/xpath.rb:67:in `each'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/2.1.0/rexml/element.rb:902:in `each'
/home/provisioningengine/ProvisioningEnginev0.5.15/lib/update_db.rb:125:in `perform'
/home/provisioningengine/ProvisioningEnginev0.5.15/app/models/provisioningobject.rb:311:in `synchronizeSynchronously'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/performable_method.rb:30:in `perform'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/backend/base.rb:100:in `block in invoke_job'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:61:in `call'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:61:in `block in initialize'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:66:in `call'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:66:in `execute'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:40:in `run_callbacks'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/backend/base.rb:97:in `invoke_job'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:224:in `block (2 levels) in run'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/2.1.0/timeout.rb:91:in `block in timeout'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/2.1.0/timeout.rb:101:in `call'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/2.1.0/timeout.rb:101:in `timeout'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:224:in `block in run'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:223:in `run'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:300:in `block in reserve_and_run_one_job'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:61:in `call'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:61:in `block in initialize'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:66:in `call'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:66:in `execute'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:40:in `run_callbacks'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:300:in `reserve_and_run_one_job'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:207:in `block in work_off'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:206:in `times'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:206:in `work_off'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:169:in `block (4 levels) in start'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:168:in `block (3 levels) in start'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:61:in `call'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:61:in `block in initialize'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:66:in `call'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:66:in `execute'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:40:in `run_callbacks'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:167:in `block (2 levels) in start'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:166:in `loop'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:166:in `block in start'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/plugins/clear_locks.rb:7:in `call'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/plugins/clear_locks.rb:7:in `block (2 levels) in '
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:79:in `call'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:79:in `block (2 levels) in add'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:61:in `call'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:61:in `block in initialize'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:79:in `call'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:79:in `block in add'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:66:in `call'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:66:in `execute'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/lifecycle.rb:40:in `run_callbacks'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/worker.rb:165:in `start'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/delayed_job-4.1.1/lib/delayed/tasks.rb:9:in `block (2 levels) in '
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/task.rb:240:in `call'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/task.rb:240:in `block in execute'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/task.rb:235:in `each'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/task.rb:235:in `execute'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/task.rb:172:in `invoke_with_call_chain'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/task.rb:165:in `invoke'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:150:in `invoke_task'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:106:in `each'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:106:in `block in top_level'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:115:in `run_with_threads'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:100:in `top_level'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:78:in `block in run'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:176:in `standard_exception_handling'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:75:in `run'
/home/provisioningengine/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.5.0/bin/rake:33:in `'
/home/provisioningengine/.rbenv/versions/2.1.3/bin/rake:23:in `load'
/home/provisioningengine/.rbenv/versions/2.1.3/bin/rake:23:in `
'
oveits commented 8 years ago

This was easy to solve: in the delayed job log we have found:

undefined method `text' for nil:NilClass
/home/provisioningengine/ProvisioningEnginev0.5.15/lib/update_db.rb:142

On update_db.rb line 142 we have found:

if !element.elements["MainNumber"].text.nil? && ...

However, it does not make sense to apply text before asking, whether the value is nil. I have replaced

element.elements["MainNumber"].text.nil?

by

element.elements["MainNumber"].nil?

twice in the file, restarted the service and then it worked: image

The issue will be closed with the next commit.