[英]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.