簡體   English   中英

持續存在於delay_job中的線程

[英]Persisting thread in delayed_job

因此,我有一個Rails應用程序,我希望我的延遲工作流程與SMPP服務器進行通信。 但是,當我嘗試發送消息時會出現問題。 我在初始化程序(delayed_job.rb)中創建的線程:

if $0.ends_with?('/delayed_job')

 require_relative '../../lib/gateway'
 config = {
  :host => 'SERVER.COM',
  :port => 2345,
  :system_id => 'USERNAME',
  :password => 'PASSWORD',
  :system_type => '', # default given according to SMPP 3.4 Spec
  :interface_version => 52,
  :source_ton  => 0,
  :source_npi => 1,
  :destination_ton => 1,
  :destination_npi => 1,
  :source_address_range => '',
  :destination_address_range => '',
  :enquire_link_delay_secs => 60
}
Thread.new{
    gw = Gateway.new
    gw.start(config)
}
end

但是檢查我的日志文件中的smpp服務器,似乎該線程在啟動后就死了。 所以我想我的問題是,在delay_job守護程序運行時如何持久化線程?

如果我在生產環境中啟動我的Rails應用程序並嘗試單獨發送消息,那么它可以正常工作,但是由於delay_job是一個單獨的過程,因此我無法與delay_job中我的工作人員通過Rails應用程序中的smpp線程進行通信隊列。

有任何想法嗎?

經過排序后,決定將所有內容分離到各自的守護程序中,並且每個守護程序將獨立與數據庫進行通信,而不是嘗試使用管道和信號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM