David Balatero
2007-Mar-13 22:50 UTC
[Backgroundrb-devel] Scheduled worker dies after about 30-45 runs
I have a scheduled worker that runs every minute, checking for new eBay
auctions to post. If it finds an auction, then it posts it. If there are no
auctions in the database that are queued up, it simply does nothing. I got
the worker to finally run as a scheduled worker, every minute. However,
after about 30-45 scheduled runs, it simply stops running.
My backgroundrb_schedules.yml file:
------
ebay_runner:
:class: :ebay_auction_worker
:job_key: :ebay_auction_runner
:trigger_type: :cron_trigger
:trigger_args: 0 * * * * * *
------
My ebay_auction_worker.rb file:
------
class EbayAuctionWorker < BackgrounDRb::Rails
# Set this worker to run every minute.
attr_accessor :progress, :description
def do_work(args)
# This method is called in it''s own new thread when you
# call new worker. args is set to :args
@progress = 0
@description = "Checking for eBay auctions and posting"
logger.info("Checking to post an auction at #{Time.now.to_s}.")
auction = EbayAuction.find(:first, :conditions => ["auction_status =
?
AND post_on < ?", EbayAuction::STATUS_STRINGS[:queued], Time.now])
if auction
logger.info("--- Posting auction: #{auction.title}")
# This method only takes 1-3 seconds tops to run -- it just generates
an <AddItem> call to eBay''s XML API, and sends it along.
auction.post
else
logger.info("--- No auctions currently need posting.")
end
@progress = 100
logger.info("--- Finished auction check.")
# Exit the thread to cleanup.
self.delete
end
end
EbayAuctionWorker.register
-------
>From the server logs, I''m getting this output:
--------
20070312-18:14:31 (24026) Starting BackgrounDRb Server
20070312-18:14:31 (24026) load_rails: true
20070312-18:14:31 (24026) uri:
drbunix:///tmp/backgroundrbunix_localhost_22222
20070312-18:14:31 (24026) config:
/home/david/redclay/config/backgroundrb.yml
20070312-18:14:31 (24026) temp_dir: /tmp
20070312-18:14:31 (24026) database_yml: config/database.yml
20070312-18:14:31 (24026) worker_dir: /home/david/redclay/lib/workers
20070312-18:14:31 (24026) protocol: drbunix
20070312-18:14:31 (24026) socket_dir: /tmp/backgroundrb.24026
20070312-18:14:31 (24026) environment: development
20070312-18:14:31 (24026) host: localhost
20070312-18:14:31 (24026) acl: denyallallowlocalhost 127.0.0.1orderdeny
,allow
20070312-18:14:31 (24026) rails_env: development
20070312-18:14:31 (24026) timer_sleep: 60
20070312-18:14:31 (24026) port: 22222
20070312-18:14:31 (24026) pool_size: 5
20070312-18:14:31 (24028) Starting worker:
BackgrounDRb::Worker::WorkerLogger backgroundrb_logger (backgroundrb_logger)
()
20070312-18:14:31 (24028) Starting worker:
BackgrounDRb::Worker::WorkerResults backgroundrb_results
(backgroundrb_results) ()
20070312-18:14:31 (24028) Loading Worker Class File:
/home/david/redclay/lib/workers/variant_addition_worker.rb
20070312-18:14:31 (24028) Loading Worker Class File:
/home/david/redclay/lib/workers/variant_remove_worker.rb
20070312-18:14:31 (24028) Loading Worker Class File:
/home/david/redclay/lib/workers/variant_subtraction_worker.rb
20070312-18:14:31 (24028) Loading Worker Class File:
/home/david/redclay/lib/workers/variant_new_worker.rb
20070312-18:14:31 (24028) Loading Worker Class File:
/home/david/redclay/lib/workers/ebay_auction_worker.rb
20070312-18:14:31 (24028) Loading Sechedule:
classebay_auction_workerargsjob_keyebay_auction_runner
classebay_auction_workertrigger_args0 * * * * *
*trigger_typecron_triggerjob_keyebay_auction_runner
#<BackgrounDRb::CronTrigger:0xb73ae12c>
20070312-18:15:00 (24028) Schedule triggered: #<struct
#<Class:0xb7956b38>
job=#<Proc:0xb79c1ac8@/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/middleman.rb:355>,
trigger=#<BackgrounDRb::CronTrigger:0xb73ae12c @hour=0..23, @year=nil,
@day=1..31, @cron_expr="0 * * * * * *", @sec=[0], @wday=0..6,
@min=0..59,
@month=1..12>, earliest=Mon Mar 12 18:15:00 -0700 2007, last=Mon Mar 12
18:15:00 -0700 2007>
20070312-18:15:01 (24028) Starting worker: ebay_auction_worker
ebay_auction_runner (ebay_auction_worker_ebay_auction_runner) ()
....fast-forward 41 minutes.....
20070312-18:56:00 (24028) Starting worker: ebay_auction_worker
ebay_auction_runner (ebay_auction_worker_ebay_auction_runner) ()
20070312-18:57:00 (24028) Schedule triggered: #<struct
#<Class:0xb7956b38>
job=#<Proc:0xb79c1ac8@/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/middleman.rb:355>,
trigger=#<BackgrounDRb::CronTrigger:0xb73ae12c @hour=0..23, @year=nil,
@day=1..31, @cron_expr="0 * * * * * *", @sec=[0], @wday=0..6,
@min=0..59,
@month=1..12>, earliest=Mon Mar 12 18:57:00 -0700 2007, last=Mon Mar 12
18:57:00 -0700 2007>
20070312-18:57:00 (24028) failed to find slave socket - (RuntimeError)
20070312-18:57:00 (24028)
/usr/lib/ruby/gems/1.8/gems/slave-1.2.0/lib/slave.rb:435:in
`initialize''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/middleman.rb:210:in
`new''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/middleman.rb:210:in
`new_worker''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/thread_pool.rb:36:in
`dispatch''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/thread_pool.rb:22:in
`initialize''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/thread_pool.rb:22:in
`new''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/thread_pool.rb:22:in
`dispatch''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/middleman.rb:199:in
`new_worker''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/middleman.rb:357:in
`schedule_worker''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/scheduler.rb:46:in
`call''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/scheduler.rb:46:in
`run''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/scheduler.rb:40:in
`each''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/scheduler.rb:40:in
`run''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/scheduler.rb:35:in
`loop''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/scheduler.rb:35:in
`run''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/scheduler.rb:95:in
`run''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/scheduler.rb:94:in
`initialize''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/scheduler.rb:94:in
`new''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/scheduler.rb:94:in
`run''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb/middleman.rb:106:in
`setup''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb_server.rb:306:in
`run''
20070312-18:57:00 (24028)
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/application.rb:186:in
`call''
20070312-18:57:00 (24028)
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/application.rb:186:in
`start_proc''
20070312-18:57:00 (24028)
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/daemonize.rb:192:in
`call''
20070312-18:57:00 (24028)
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/daemonize.rb:192:in
`call_as_daemon''
20070312-18:57:00 (24028)
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/application.rb:190:in
`start_proc''
20070312-18:57:00 (24028)
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/application.rb:226:in
`start''
20070312-18:57:00 (24028)
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/controller.rb:69:in
`run''
20070312-18:57:00 (24028)
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons.rb:182:in
`run_proc''
20070312-18:57:00 (24028)
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/cmdline.rb:94:in
`call''
20070312-18:57:00 (24028)
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/cmdline.rb:94:in
`catch_exceptions''
20070312-18:57:00 (24028)
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons.rb:181:in
`run_proc''
20070312-18:57:00 (24028)
/home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb_server.rb:301:in
`run''
20070312-18:57:00 (24028) script/backgroundrb:29
--------------------
It looks like it is dying because a Slave process has somehow killed itself
in that timespan. Can I do something about this? I need this worker to be
running all the time. Is there something I can do in my code to keep
backgroundrb processes from dying? I''d like to figure out how we can
resolve
this, because it looks like it might be a much more serious problem in the
backgroundrb framework. That said, I want to express my gratitude for this
framework existing -- I wouldn''t have been able to come this far
without it.
I hope we can figure this out!
Thanks,
David Balatero
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://rubyforge.org/pipermail/backgroundrb-devel/attachments/20070313/e4b743d9/attachment-0001.html
David Balatero
2007-Mar-13 22:53 UTC
[Backgroundrb-devel] Scheduled worker dies after about 30-45 runs
Also, I just realized I didn''t provide any of my system information: I am running Ruby 1.8.5 on Gentoo Linux, with the following gem versions: - rails 1.2.2 - slave 1.2.0 - daemons 1.0.4 - lighttpd 1.3.16 (ssl) Thanks! David On 3/13/07, David Balatero <david.balatero at gmail.com> wrote:> > I have a scheduled worker that runs every minute, checking for new eBay > auctions to post. If it finds an auction, then it posts it. If there are no > auctions in the database that are queued up, it simply does nothing. I got > the worker to finally run as a scheduled worker, every minute. However, > after about 30-45 scheduled runs, it simply stops running. > > My backgroundrb_schedules.yml file: > ------ > ebay_runner: > :class: :ebay_auction_worker > :job_key: :ebay_auction_runner > :trigger_type: :cron_trigger > :trigger_args: 0 * * * * * * > ------ > > My ebay_auction_worker.rb file: > ------ > class EbayAuctionWorker < BackgrounDRb::Rails > # Set this worker to run every minute. > attr_accessor :progress, :description > > def do_work(args) > # This method is called in it''s own new thread when you > # call new worker. args is set to :args > > @progress = 0 > @description = "Checking for eBay auctions and posting" > > logger.info("Checking to post an auction at #{Time.now.to_s }.") > auction = EbayAuction.find(:first, :conditions => ["auction_status = ? > AND post_on < ?", EbayAuction::STATUS_STRINGS[:queued], Time.now]) > if auction > logger.info("--- Posting auction: #{ auction.title}") > > # This method only takes 1-3 seconds tops to run -- it just > generates an <AddItem> call to eBay''s XML API, and sends it along. > auction.post > else > logger.info ("--- No auctions currently need posting.") > end > > @progress = 100 > > logger.info("--- Finished auction check.") > > # Exit the thread to cleanup. > self.delete > end > end > > EbayAuctionWorker.register > ------- > > > From the server logs, I''m getting this output: > -------- > 20070312-18:14:31 (24026) Starting BackgrounDRb Server > 20070312-18:14:31 (24026) load_rails: true > 20070312-18:14:31 (24026) uri: > drbunix:///tmp/backgroundrbunix_localhost_22222 > 20070312-18:14:31 (24026) config: /home/david/redclay/config/backgroundrb > .yml > 20070312-18:14:31 (24026) temp_dir: /tmp > 20070312-18:14:31 (24026) database_yml: config/database.yml > 20070312-18:14:31 (24026) worker_dir: /home/david/redclay/lib/workers > 20070312-18:14:31 (24026) protocol: drbunix > 20070312-18:14:31 (24026) socket_dir: /tmp/backgroundrb.24026 > 20070312-18:14:31 (24026) environment: development > 20070312-18:14:31 (24026) host: localhost > 20070312-18:14:31 (24026) acl: denyallallowlocalhost 127.0.0.1orderdeny > ,allow > 20070312-18:14:31 (24026) rails_env: development > 20070312-18:14:31 (24026) timer_sleep: 60 > 20070312-18:14:31 (24026) port: 22222 > 20070312-18:14:31 (24026) pool_size: 5 > 20070312-18:14:31 (24028) Starting worker: BackgrounDRb::Worker::WorkerLogger > backgroundrb_logger (backgroundrb_logger) () > 20070312-18:14:31 (24028) Starting worker: BackgrounDRb::Worker::WorkerResults > backgroundrb_results (backgroundrb_results) () > 20070312-18:14:31 (24028) Loading Worker Class File: > /home/david/redclay/lib/workers/variant_addition_worker.rb > 20070312-18:14:31 (24028) Loading Worker Class File: > /home/david/redclay/lib/workers/variant_remove_worker.rb > 20070312-18:14:31 (24028) Loading Worker Class File: > /home/david/redclay/lib/workers/variant_subtraction_worker.rb > 20070312-18:14:31 (24028) Loading Worker Class File: > /home/david/redclay/lib/workers/variant_new_worker.rb > 20070312-18:14:31 (24028) Loading Worker Class File: > /home/david/redclay/lib/workers/ebay_auction_worker.rb > 20070312-18:14:31 (24028) Loading Sechedule: > classebay_auction_workerargsjob_keyebay_auction_runner > classebay_auction_workertrigger_args0 * * * * * > *trigger_typecron_triggerjob_keyebay_auction_runner #<BackgrounDRb::CronTrigger:0xb73ae12c> > > 20070312-18:15:00 (24028) Schedule triggered: #<struct #<Class:0xb7956b38> > job=#<Proc:0xb79c1ac8@/home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/middleman.rb:355>, trigger=#<BackgrounDRb::CronTrigger:0xb73ae12c > @hour=0..23, @year=nil, @day=1..31, @cron_expr="0 * * * * * *", @sec=[0], > @wday=0..6, @min=0..59, @month=1..12>, earliest=Mon Mar 12 18:15:00 -0700 > 2007, last=Mon Mar 12 18:15:00 -0700 2007> > 20070312-18:15:01 (24028) Starting worker: ebay_auction_worker > ebay_auction_runner (ebay_auction_worker_ebay_auction_runner) () > > ....fast-forward 41 minutes..... > > 20070312-18:56:00 (24028) Starting worker: ebay_auction_worker > ebay_auction_runner (ebay_auction_worker_ebay_auction_runner) () > 20070312-18:57:00 (24028) Schedule triggered: #<struct #<Class:0xb7956b38> > job=#<Proc:0xb79c1ac8@/home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/middleman.rb:355>, trigger=#<BackgrounDRb::CronTrigger:0xb73ae12c > @hour=0..23, @year=nil, @day=1..31, @cron_expr="0 * * * * * *", @sec=[0], > @wday=0..6, @min=0..59, @month=1..12>, earliest=Mon Mar 12 18:57:00 -0700 > 2007, last=Mon Mar 12 18:57:00 -0700 2007> > 20070312-18:57:00 (24028) failed to find slave socket - (RuntimeError) > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/slave-1.2.0/lib/slave.rb:435:in > `initialize'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/middleman.rb:210:in `new'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/middleman.rb:210:in `new_worker'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/thread_pool.rb:36:in `dispatch'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/thread_pool.rb:22:in `initialize'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/thread_pool.rb:22:in `new'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/thread_pool.rb:22:in `dispatch'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/middleman.rb:199:in `new_worker'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/middleman.rb:357:in `schedule_worker'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/scheduler.rb:46:in `call'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/scheduler.rb:46:in `run'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/scheduler.rb:40:in `each'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/scheduler.rb:40:in `run'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/scheduler.rb:35:in `loop'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/scheduler.rb:35:in `run'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/scheduler.rb:95:in `run'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/scheduler.rb:94:in `initialize'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/scheduler.rb:94:in `new'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/scheduler.rb:94:in `run'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb > /server/lib/backgroundrb/middleman.rb:106:in `setup'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb_server.rb:306:in > `run'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/application.rb:186:in > `call'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/application.rb:186:in > `start_proc'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/daemonize.rb:192:in > `call'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/daemonize.rb:192:in > `call_as_daemon'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/application.rb:190:in > `start_proc'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/application.rb:226:in > `start'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/controller.rb:69:in > `run'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons.rb:182:in > `run_proc'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/cmdline.rb:94:in > `call'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/cmdline.rb:94:in > `catch_exceptions'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons.rb:181:in > `run_proc'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/backgroundrb/server/lib/backgroundrb_server.rb:301:in > `run'' > 20070312-18:57:00 (24028) script/backgroundrb:29 > -------------------- > > > It looks like it is dying because a Slave process has somehow killed > itself in that timespan. Can I do something about this? I need this worker > to be running all the time. Is there something I can do in my code to keep > backgroundrb processes from dying? I''d like to figure out how we can > resolve this, because it looks like it might be a much more serious problem > in the backgroundrb framework. That said, I want to express my gratitude > for this framework existing -- I wouldn''t have been able to come this far > without it. I hope we can figure this out! > > Thanks, > David Balatero >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/backgroundrb-devel/attachments/20070313/7d9f1ab5/attachment.html
David Balatero
2007-Mar-13 23:03 UTC
[Backgroundrb-devel] Scheduled worker dies after about 30-45 runs
http://rubyforge.org/pipermail/backgroundrb-devel/2007-February/000755.html Is this post relevant to the error I am seeing? Is it just that I can''t spawn a worker every minute and expect it to stay sane? On 3/13/07, David Balatero <david.balatero at gmail.com> wrote:> > Also, I just realized I didn''t provide any of my system information: > > I am running Ruby 1.8.5 on Gentoo Linux, with the following gem versions: > - rails 1.2.2 > - slave 1.2.0 > - daemons 1.0.4 > - lighttpd 1.3.16 (ssl) > > Thanks! > David > > On 3/13/07, David Balatero <david.balatero at gmail.com> wrote: > > > > I have a scheduled worker that runs every minute, checking for new eBay > > auctions to post. If it finds an auction, then it posts it. If there are no > > auctions in the database that are queued up, it simply does nothing. I got > > the worker to finally run as a scheduled worker, every minute. However, > > after about 30-45 scheduled runs, it simply stops running. > > > > My backgroundrb_schedules.yml file: > > ------ > > ebay_runner: > > :class: :ebay_auction_worker > > :job_key: :ebay_auction_runner > > :trigger_type: :cron_trigger > > :trigger_args: 0 * * * * * * > > ------ > > > > My ebay_auction_worker.rb file: > > ------ > > class EbayAuctionWorker < BackgrounDRb::Rails > > # Set this worker to run every minute. > > attr_accessor :progress, :description > > > > def do_work(args) > > # This method is called in it''s own new thread when you > > # call new worker. args is set to :args > > > > @progress = 0 > > @description = "Checking for eBay auctions and posting" > > > > logger.info("Checking to post an auction at #{Time.now.to_s }.") > > auction = EbayAuction.find(:first, :conditions => ["auction_status > > ? AND post_on < ?", EbayAuction::STATUS_STRINGS[:queued], Time.now]) > > if auction > > logger.info("--- Posting auction: #{ auction.title}") > > > > # This method only takes 1-3 seconds tops to run -- it just > > generates an <AddItem> call to eBay''s XML API, and sends it along. > > auction.post > > else > > logger.info ("--- No auctions currently need posting.") > > end > > > > @progress = 100 > > > > logger.info("--- Finished auction check.") > > > > # Exit the thread to cleanup. > > self.delete > > end > > end > > > > EbayAuctionWorker.register > > ------- > > > > > > From the server logs, I''m getting this output: > > -------- > > 20070312-18:14:31 (24026) Starting BackgrounDRb Server > > 20070312-18:14:31 (24026) load_rails: true > > 20070312-18:14:31 (24026) uri: > > drbunix:///tmp/backgroundrbunix_localhost_22222 > > 20070312-18:14:31 (24026) config: /home/david/redclay/config/ > > backgroundrb.yml > > 20070312-18:14:31 (24026) temp_dir: /tmp > > 20070312-18:14:31 (24026) database_yml: config/database.yml > > 20070312-18:14:31 (24026) worker_dir: /home/david/redclay/lib/workers > > 20070312-18:14:31 (24026) protocol: drbunix > > 20070312-18:14:31 (24026) socket_dir: /tmp/backgroundrb .24026 > > 20070312-18:14:31 (24026) environment: development > > 20070312-18:14:31 (24026) host: localhost > > 20070312-18:14:31 (24026) acl: denyallallowlocalhost 127.0.0.1orderdeny > > ,allow > > 20070312-18:14:31 (24026) rails_env: development > > 20070312-18:14:31 (24026) timer_sleep: 60 > > 20070312-18:14:31 (24026) port: 22222 > > 20070312-18:14:31 (24026) pool_size: 5 > > 20070312-18:14:31 (24028) Starting worker: BackgrounDRb::Worker::WorkerLogger > > backgroundrb_logger (backgroundrb_logger) () > > 20070312-18:14:31 (24028) Starting worker: BackgrounDRb::Worker::WorkerResults > > backgroundrb_results (backgroundrb_results) () > > 20070312-18:14:31 (24028) Loading Worker Class File: > > /home/david/redclay/lib/workers/variant_addition_worker.rb > > 20070312-18:14:31 (24028) Loading Worker Class File: > > /home/david/redclay/lib/workers/variant_remove_worker.rb > > 20070312-18:14:31 (24028) Loading Worker Class File: > > /home/david/redclay/lib/workers/variant_subtraction_worker.rb > > 20070312-18:14:31 (24028) Loading Worker Class File: > > /home/david/redclay/lib/workers/variant_new_worker.rb > > 20070312-18:14:31 (24028) Loading Worker Class File: > > /home/david/redclay/lib/workers/ebay_auction_worker.rb > > 20070312-18:14:31 (24028) Loading Sechedule: > > classebay_auction_workerargsjob_keyebay_auction_runner > > classebay_auction_workertrigger_args0 * * * * * > > *trigger_typecron_triggerjob_keyebay_auction_runner #< BackgrounDRb::CronTrigger:0xb73ae12c> > > > > 20070312-18:15:00 (24028) Schedule triggered: #<struct > > #<Class:0xb7956b38> > > job=#<Proc:0xb79c1ac8@/home/david/redclay/vendor/plugins/backgroundrb > > /server/lib/ backgroundrb/middleman.rb:355>, trigger=#<BackgrounDRb::CronTrigger:0xb73ae12c > > @hour=0..23, @year=nil, @day=1..31, @cron_expr="0 * * * * * *", @sec=[0], > > @wday=0..6, @min=0..59, @month=1..12>, earliest=Mon Mar 12 18:15:00 -0700 > > 2007, last=Mon Mar 12 18:15:00 -0700 2007> > > 20070312-18:15:01 (24028) Starting worker: ebay_auction_worker > > ebay_auction_runner (ebay_auction_worker_ebay_auction_runner) () > > > > ....fast-forward 41 minutes..... > > > > 20070312-18:56:00 (24028) Starting worker: ebay_auction_worker > > ebay_auction_runner (ebay_auction_worker_ebay_auction_runner) () > > 20070312-18:57:00 (24028) Schedule triggered: #<struct > > #<Class:0xb7956b38> > > job=#<Proc:0xb79c1ac8@/home/david/redclay/vendor/plugins/backgroundrb > > /server/lib/ backgroundrb/middleman.rb:355>, trigger=#<BackgrounDRb::CronTrigger:0xb73ae12c > > @hour=0..23, @year=nil, @day=1..31, @cron_expr="0 * * * * * *", @sec=[0], > > @wday=0..6, @min=0..59, @month=1..12>, earliest=Mon Mar 12 18:57:00 -0700 > > 2007, last=Mon Mar 12 18:57:00 -0700 2007> > > 20070312-18:57:00 (24028) failed to find slave socket - (RuntimeError) > > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/slave-1.2.0/lib/slave.rb:435:in > > `initialize'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/middleman.rb:210:in `new'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/middleman.rb:210:in `new_worker'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/thread_pool.rb:36:in `dispatch'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/thread_pool.rb:22:in `initialize'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/thread_pool.rb:22:in `new'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/thread_pool.rb:22:in `dispatch'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/middleman.rb:199:in `new_worker'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/middleman.rb:357:in > > `schedule_worker'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/scheduler.rb:46:in `call'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/scheduler.rb:46:in `run'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/scheduler.rb:40:in `each'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/scheduler.rb:40:in `run'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/scheduler.rb:35:in `loop'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/scheduler.rb:35:in `run'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/scheduler.rb:95:in `run'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/scheduler.rb:94:in `initialize'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/scheduler.rb:94:in `new'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/scheduler.rb:94:in `run'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb/middleman.rb:106:in `setup'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb_server.rb:306:in `run'' > > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons- 1.0.4/lib/daemons/application.rb:186:in > > `call'' > > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/application.rb:186:in > > `start_proc'' > > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/daemonize.rb:192:in > > `call'' > > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/daemonize.rb:192:in > > `call_as_daemon'' > > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/application.rb:190:in > > `start_proc'' > > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/application.rb:226:in > > `start'' > > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/controller.rb:69:in > > `run'' > > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons.rb:182:in > > `run_proc'' > > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/cmdline.rb:94:in > > `call'' > > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons/cmdline.rb:94:in > > `catch_exceptions'' > > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/lib/daemons.rb:181:in > > `run_proc'' > > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > > backgroundrb/server/lib/backgroundrb_server.rb:301:in `run'' > > 20070312-18:57:00 (24028) script/ backgroundrb:29 > > -------------------- > > > > > > It looks like it is dying because a Slave process has somehow killed > > itself in that timespan. Can I do something about this? I need this worker > > to be running all the time. Is there something I can do in my code to keep > > backgroundrb processes from dying? I''d like to figure out how we can > > resolve this, because it looks like it might be a much more serious problem > > in the backgroundrb framework. That said, I want to express my gratitude > > for this framework existing -- I wouldn''t have been able to come this far > > without it. I hope we can figure this out! > > > > Thanks, > > David Balatero > > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/backgroundrb-devel/attachments/20070313/6c8a289f/attachment-0001.html
Ezra Zygmuntowicz
2007-Mar-13 23:22 UTC
[Backgroundrb-devel] Scheduled worker dies after about 30-45 runs
David- For the kind of work you are trying to do you are much better of spawning one worker when the server boots and having it run in a loop, living forever. Cheers- -Ezra On Mar 13, 2007, at 4:03 PM, David Balatero wrote:> http://rubyforge.org/pipermail/backgroundrb-devel/2007-February/ > 000755.html > > Is this post relevant to the error I am seeing? Is it just that I > can''t spawn a worker every minute and expect it to stay sane? > > On 3/13/07, David Balatero <david.balatero at gmail.com> wrote: Also, > I just realized I didn''t provide any of my system information: > > I am running Ruby 1.8.5 on Gentoo Linux, with the following gem > versions: > - rails 1.2.2 > - slave 1.2.0 > - daemons 1.0.4 > - lighttpd 1.3.16 (ssl) > > Thanks! > David > > > On 3/13/07, David Balatero < david.balatero at gmail.com> wrote: I > have a scheduled worker that runs every minute, checking for new > eBay auctions to post. If it finds an auction, then it posts it. If > there are no auctions in the database that are queued up, it simply > does nothing. I got the worker to finally run as a scheduled > worker, every minute. However, after about 30-45 scheduled runs, it > simply stops running. > > My backgroundrb_schedules.yml file: > ------ > ebay_runner: > :class: :ebay_auction_worker > :job_key: :ebay_auction_runner > :trigger_type: :cron_trigger > :trigger_args: 0 * * * * * * > ------ > > My ebay_auction_worker.rb file: > ------ > class EbayAuctionWorker < BackgrounDRb::Rails > # Set this worker to run every minute. > attr_accessor :progress, :description > > def do_work(args) > # This method is called in it''s own new thread when you > # call new worker. args is set to :args > > @progress = 0 > @description = "Checking for eBay auctions and posting" > > logger.info("Checking to post an auction at #{Time.now.to_s }.") > auction = EbayAuction.find(:first, :conditions => > ["auction_status = ? AND post_on < ?", EbayAuction::STATUS_STRINGS > [:queued], Time.now]) > if auction > logger.info("--- Posting auction: #{ auction.title}") > > # This method only takes 1-3 seconds tops to run -- it just > generates an <AddItem> call to eBay''s XML API, and sends it along. > auction.post > else > logger.info ("--- No auctions currently need posting.") > end > > @progress = 100 > > logger.info("--- Finished auction check.") > > # Exit the thread to cleanup. > self.delete > end > end > > EbayAuctionWorker.register > ------- > > > From the server logs, I''m getting this output: > -------- > 20070312-18:14:31 (24026) Starting BackgrounDRb Server > 20070312-18:14:31 (24026) load_rails: true > 20070312-18:14:31 (24026) uri: drbunix:///tmp/ > backgroundrbunix_localhost_22222 > 20070312-18:14:31 (24026) config: /home/david/redclay/config/ > backgroundrb.yml > 20070312-18:14:31 (24026) temp_dir: /tmp > 20070312-18:14:31 (24026) database_yml: config/database.yml > 20070312-18:14:31 (24026) worker_dir: /home/david/redclay/lib/workers > 20070312-18:14:31 (24026) protocol: drbunix > 20070312-18:14:31 (24026) socket_dir: /tmp/backgroundrb .24026 > 20070312-18:14:31 (24026) environment: development > 20070312-18:14:31 (24026) host: localhost > 20070312-18:14:31 (24026) acl: denyallallowlocalhost > 127.0.0.1orderdeny,allow > 20070312-18:14:31 (24026) rails_env: development > 20070312-18:14:31 (24026) timer_sleep: 60 > 20070312-18:14:31 (24026) port: 22222 > 20070312-18:14:31 (24026) pool_size: 5 > 20070312-18:14:31 (24028) Starting worker: > BackgrounDRb::Worker::WorkerLogger backgroundrb_logger > (backgroundrb_logger) () > 20070312-18:14:31 (24028) Starting worker: > BackgrounDRb::Worker::WorkerResults backgroundrb_results > (backgroundrb_results) () > 20070312-18:14:31 (24028) Loading Worker Class File: /home/david/ > redclay/lib/workers/variant_addition_worker.rb > 20070312-18:14:31 (24028) Loading Worker Class File: /home/david/ > redclay/lib/workers/variant_remove_worker.rb > 20070312-18:14:31 (24028) Loading Worker Class File: /home/david/ > redclay/lib/workers/variant_subtraction_worker.rb > 20070312-18:14:31 (24028) Loading Worker Class File: /home/david/ > redclay/lib/workers/variant_new_worker.rb > 20070312-18:14:31 (24028) Loading Worker Class File: /home/david/ > redclay/lib/workers/ebay_auction_worker.rb > 20070312-18:14:31 (24028) Loading Sechedule: > classebay_auction_workerargsjob_keyebay_auction_runner > classebay_auction_workertrigger_args0 * * * * * > *trigger_typecron_triggerjob_keyebay_auction_runner #< > BackgrounDRb::CronTrigger:0xb73ae12c> > 20070312-18:15:00 (24028) Schedule triggered: #<struct #<Class: > 0xb7956b38> job=#<Proc:0xb79c1ac8@/home/david/redclay/vendor/ > plugins/backgroundrb/server/lib/ backgroundrb/middleman.rb:355>, > trigger=#<BackgrounDRb::CronTrigger:0xb73ae12c @hour=0..23, > @year=nil, @day=1..31, @cron_expr="0 * * * * * *", @sec=[0], > @wday=0..6, @min=0..59, @month=1..12>, earliest=Mon Mar 12 18:15:00 > -0700 2007, last=Mon Mar 12 18:15:00 -0700 2007> > 20070312-18:15:01 (24028) Starting worker: ebay_auction_worker > ebay_auction_runner (ebay_auction_worker_ebay_auction_runner) () > > ....fast-forward 41 minutes..... > > 20070312-18:56:00 (24028) Starting worker: ebay_auction_worker > ebay_auction_runner (ebay_auction_worker_ebay_auction_runner) () > 20070312-18:57:00 (24028) Schedule triggered: #<struct #<Class: > 0xb7956b38> job=#<Proc:0xb79c1ac8@/home/david/redclay/vendor/ > plugins/backgroundrb/server/lib/ backgroundrb/middleman.rb:355>, > trigger=#<BackgrounDRb::CronTrigger:0xb73ae12c @hour=0..23, > @year=nil, @day=1..31, @cron_expr="0 * * * * * *", @sec=[0], > @wday=0..6, @min=0..59, @month=1..12>, earliest=Mon Mar 12 18:57:00 > -0700 2007, last=Mon Mar 12 18:57:00 -0700 2007> > 20070312-18:57:00 (24028) failed to find slave socket - (RuntimeError) > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/slave-1.2.0/ > lib/slave.rb:435:in `initialize'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/middleman.rb:210:in `new'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/middleman.rb:210:in `new_worker'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/thread_pool.rb:36:in `dispatch'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/thread_pool.rb:22:in `initialize'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/thread_pool.rb:22:in `new'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/thread_pool.rb:22:in `dispatch'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/middleman.rb:199:in `new_worker'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/middleman.rb:357:in > `schedule_worker'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/scheduler.rb:46:in `call'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/scheduler.rb:46:in `run'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/scheduler.rb:40:in `each'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/scheduler.rb:40:in `run'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/scheduler.rb:35:in `loop'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/scheduler.rb:35:in `run'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/scheduler.rb:95:in `run'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/scheduler.rb:94:in `initialize'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/scheduler.rb:94:in `new'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/scheduler.rb:94:in `run'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb/middleman.rb:106:in `setup'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb_server.rb:306:in `run'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons- > 1.0.4/lib/daemons/application.rb:186:in `call'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/ > lib/daemons/application.rb:186:in `start_proc'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/ > lib/daemons/daemonize.rb:192:in `call'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/ > lib/daemons/daemonize.rb:192:in `call_as_daemon'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/ > lib/daemons/application.rb:190:in `start_proc'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/ > lib/daemons/application.rb:226:in `start'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/ > lib/daemons/controller.rb:69:in `run'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/ > lib/daemons.rb:182:in `run_proc'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/ > lib/daemons/cmdline.rb:94:in `call'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/ > lib/daemons/cmdline.rb:94:in `catch_exceptions'' > 20070312-18:57:00 (24028) /usr/lib/ruby/gems/1.8/gems/daemons-1.0.4/ > lib/daemons.rb:181:in `run_proc'' > 20070312-18:57:00 (24028) /home/david/redclay/vendor/plugins/ > backgroundrb/server/lib/backgroundrb_server.rb:301:in `run'' > 20070312-18:57:00 (24028) script/ backgroundrb:29 > -------------------- > > > It looks like it is dying because a Slave process has somehow > killed itself in that timespan. Can I do something about this? I > need this worker to be running all the time. Is there something I > can do in my code to keep backgroundrb processes from dying? I''d > like to figure out how we can resolve this, because it looks like > it might be a much more serious problem in the backgroundrb > framework. That said, I want to express my gratitude for this > framework existing -- I wouldn''t have been able to come this far > without it. I hope we can figure this out! > > Thanks, > David Balatero > > > _______________________________________________ > Backgroundrb-devel mailing list > Backgroundrb-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/backgroundrb-devel-- Ezra Zygmuntowicz -- Lead Rails Evangelist -- ez at engineyard.com -- Engine Yard, Serious Rails Hosting -- (866) 518-YARD (9273)