Frequently asked Questions
- How does it work with ActiveRecord in multi-threaded environment?
You can use BackgrounDRb’s inbuilt thread pool for executing tasks
concurrently. We are using allow_concurrency = true for ActiveRecord
models, which is known to create problem with Oracle database adapters, if
you are using Oracle db, you can turn it off, by removing allow_concurrency = true.
- Whats the deal with persistent job queues?
Well, its used for persisting tasks to the table, so as later
then can be inspected for status and results. Before using this feature.You should
run rake backgroundrb:setup and run rake db:migrate for creation of required
table.
- My worker dies silently
First,make sure you have logging enabled (Meaning, you are not using :debug_log false
in your config file).Second, if a worker dies, the backtrace should be written to the
file RAILS_ROOT/log/backgroundrb_debug_xxxx.log. Third, You should not pass
entire ActiveRecord model’s around, this could cause hard to debug problems.AR objects
don’t serialize well across tcp sockets. If none of this helps, hit us on the mailing list.
- Master server died silently
If BackgrounDRb master server dies, its definetely a bug in BackgrounDRb, exception
should be still logged in same RAILS_ROOT/log/backgroundrb_debug_xxxx.log file. Copy
the exception and file a bug report.
- Where do I file bug reports?
You can submit bug reports at: http://backgroundrb.devjavu.com/report/.
- Result caching is not working properly
Switch to memcache for storing results. More information “here:”http://localhost:3000/workers/#result_caching.
- Dynamically started workers through
new_worker are not working
Use, the worker key that was used for accessing dynamically started workers.
- BackgrounDRb server is not starting
Make sure, you have latest version of chronic and packet gems installed.After
that, clone the git repository (or download a snapshot from github) and run
rake backgroundrb:setup. If you are upgrading make sure, that older
autogenerated scripts namely, load_worker_env.rb and backgroundrb
are removed from script directory of your rails application before running
rake task.If you are upgrading to 1.1, check if scheduled_at column
is there in bdrb_job_queues table.