<< | Index | >>
$ ls -la log/mnemonic/ total 12 drwxr-xr-x 2 bbmb bbmb 4096 Jul 30 05:48 . drwxr-xr-x 6 bbmb bbmb 56 Jun 23 10:44 .. -rw-r--r-- 1 bbmb bbmb 702 Jul 30 05:48 000000000001.snapshot
def update @prevalence.resellers.each { |gid, reseller| puts "BbmbApp::update - updating #{reseller.name}" #errors = [] reseller.updates { |symbol| begin puts "update: #{symbol}" $stdout.flush if(values = reseller.custom_behavior.send(symbol)) self.send(symbol, gid, values) end puts "#{symbol} done" $stdout.flush GC.start rescue Exception => e puts e.message puts e.backtrace #errors.push(e) end } #reseller.write_exports() #reseller.mail_statistics() #reseller.notify(errors) unless errors.empty? } @prevalence.takeSnapshot GC.start end
Snapshot creation works fine.
@prevalence.takeSnapshot works.
But @prevalence.resellers
was empty.
ch.bbmb.globopharm> users.length -> 1 ch.bbmb.globopharm> users['0'] -> #<BBMB::RootUser:0x7fe31f5f1798> ch.bbmb.globopharm> users['0'].name -> root ch.bbmb.globopharm> resellers['0'] -> ch.bbmb.globopharm> resellers['0'].class -> NilClass ch.bbmb.globopharm> users['0'].reseller -> #<BBMB::Reseller:0x7fe31f5f0fa0> ch.bbmb.globopharm> users['0'].reseller.class -> BBMB::Reseller ch.bbmb.globopharm> users['0'].email -> mhatakeyama@ywesee.com
Then restored data (Mnemonic log) from backup again.
Does Some process erase this log file ?
bbmb.ch (v1) does not use ODBA.
LogFile(Mnemonic) is data.
by README
loading from logfile takes 10 Minutes.
1. The restart of globopharm.bbmb.ch can take up to 10 Minutes or more, so be patient.
For test with ruby 1.8.6
Already http://rubygems.org
is gone. (got error Gem::GemNotFoundException)
% sudo gem install flexmock --version 0.8.8 ERROR: Could not find a valid gem 'flexmock' (= 0.8.8) in any repository ERROR: While executing gem ... (ArgumentError) wrong number of arguments (1 for 0)
Then,
# cat ~/.gemrc --- :sources: - https://rubygems.org/
I could installed flexmock 0.8.8 against ruby 1.8.6
Re-Inject (only) in bbmb.ch.
(not :transmit:)
% grep -r ydim src src/custom/behavior.rb: target = "ydim-inject@192.168.0.xx" src/custom/behavior.rb: command = '/usr/bin/ruby /usr/bin/ydim-inject'
% grep -r notify_failed_ src src/util/bbmbapp.rb: reseller.notify_failed_inject(customer_id, order_vals, additional_info, src/custom/behavior.rb: def notify_failed_inject(customer_id, order_vals, additional_info,
in :src/unil/bbmbapp.rb:
## inject_order - inject an order (e.g. from xmlconv) ## parameters: ## - reseller_short: String -> BBMB::DEFAULT_FLAVOR ## - customer_id: String -> '330108' ## - order_vals: {{article_id} => size} -> {:article_pcode=>"1647471"} => 20, ... ## - additional_info: {key => val} -> {:order_reference=>"04010596"} ## - commit_time: Time def inject_order(reseller_short, customer_id, order_vals, additional_info=nil, commit_time=nil) if(reseller = get_reseller_by_short_name(reseller_short)) if(unavailable = reseller.inject_order(customer_id, order_vals, additional_info, commit_time)) reseller.notify_failed_inject(customer_id, order_vals, additional_info, commit_time, unavailable) end end end
postprocs: - - 'Bbmb' - 'inject' - 'druby://localhost:9999' - 'gag' - '221200'
Xmlconv::PostProcess::Bbmb.inject
Bbmb#inject_order
in bbmbapp.rb
BBMB::Reseller#inject_order
in reseller.rb
BBMB::Hospital#inject_order
in hospital.rb
BBMB::Resller#crete_order
in reseller.rb
BBMB::CustomBehavior#create_order
in behavior.rb
BBMB::Order#update
in order.rb
This is way to create only Injection.
ch.yasuhiro.bbmb.xmlconv.globopharm> transaction(661).class -> XmlConv::Util::Transaction ch.yasuhiro.bbmb.xmlconv.globopharm> XmlConv::PostProcess::Bbmb.inject("druby://localhost:xxxx", "gag", transaction(661)) ... ... name_short: gag hospital: order: {:article_ean13=>"7680542300870", :article_pcode=>"1954753"} => 3 {:article_ean13=>"7680542300528", :article_pcode=>"1954724"} => 2 {:article_ean13=>"7680521100767", :article_pcode=>"1556283"} => 3 {:article_ean13=>"7680521101658", :article_pcode=>"2355693"} => 8 {:article_ean13=>"7680521101498", :article_pcode=>"1906062"} => 4 {:article_ean13=>"7680561390081", :article_pcode=>"3266023"} => 16 {:article_ean13=>"7680561390067", :article_pcode=>"3266017"} => 1 {:article_ean13=>"7680561390128", :article_pcode=>"3266052"} => 8 {:article_ean13=>"7680561390043", :article_pcode=>"3265992"} => 7 {:article_ean13=>"7680561390029", :article_pcode=>"3265963"} => 1 {:article_ean13=>"7680605740049", :article_pcode=>"4703218"} => 1 {:article_ean13=>"7680605740063", :article_pcode=>"4703224"} => 2 {:article_ean13=>"7680605740070", :article_pcode=>"4703230"} => 1 {:article_ean13=>"7680605740087", :article_pcode=>"4703247"} => 1 {:article_ean13=>"7680605740094", :article_pcode=>"4703253"} => 3 {:article_ean13=>"7680556090224", :article_pcode=>"2333289"} => 3 {:article_ean13=>"7680507580606", :article_pcode=>"1488446"} => 2 {:article_ean13=>"7680485910518", :article_pcode=>"2204936"} => 3 {:article_ean13=>"7680623310019", :article_pcode=>"5090947"} => 4 {:article_ean13=>"7680541820317", :article_pcode=>"2338832"} => 2 {:article_ean13=>"7680555680051", :article_pcode=>"2321518"} => 3 {:article_ean13=>"7680555680099", :article_pcode=>"2692031"} => 2 {:article_ean13=>"7680573270067", :article_pcode=>"3893642"} => 1 {:article_ean13=>"7680552640034", :article_pcode=>"2344235"} => 1 info: order_reference => xxx order_comment => xxxxxxxx XxXXXX XXXX XXXXXX XXXX
If big order is given,
ch.bbmb.xmlconv.globopharm> transaction(644).class -> XmlConv::Util::Transaction ch.bbmb.xmlconv.globopharm> XmlConv::PostProcess::Bbmb.inject("druby://localhost:xxxx", "gag", transaction(664)) -> Array
transaction
)
Transfer
, and Injection