2012-05-20 31 views
1

我正在編寫一個Web應用程序。用戶可以發佈文本,我需要將它們存儲在我的數據庫中,並將它們同步到Twitter帳戶。在Web應用程序的背景中向Twitter發送同步消息

問題是,我想在將消息插入到數據庫後立即迴應用戶,並在後臺運行「同步到Twitter」進程。

我該怎麼做?由於

+0

什麼web框架,你用? – zrxq

+0

@zrxq我正在使用燒瓶 – wong2

+0

顯然有[Celery](http://celeryproject.org/)和[Flask-Celery](http://pypi.python.org/pypi/Flask-Celery),但他們對於你的任務似乎有點過重。我希望有人會建議一個更好的方法。 – zrxq

回答

0

任你選擇zrxq的解決方案,也可以做到這一點與線程,如果你把兩件事情護理:

  1. 你不從主線程對象篡改(注意迭代器),
  2. 一旦工作完成,你會很好地照顧你的線程。

的東西,看起來像:

 
    import threading 

    class TwitterThreadQueue(threading.Thread): 
     queue = [] 

     def run(self): 
      while len(self.queue!=0): 
       post_on_twitter(self.queue.pop()) # here is your code to post on twitter 

     def add_to_queue(self,msg): 
      self.queue.append(msg) 

,然後你實例化它在你的代碼:

 
tweetQueue = TwitterThreadQueue() 
# ... 
tweetQueue.add_to_queue(message) 
tweetQueue.start() # you can check if it's not already started 
# ... 
相關問題