簡體   English   中英

在Django中運行后台進程並與之通信

[英]Run and communicate with background process in Django

這是一個newb問題,但我試圖用Django編寫一個程序,該程序通過串行連接從django站點控制arduino。 由於ardunio具有“功能”,當建立新的串行連接時會重置它,這意味着它不能在每次加載頁面時始終僅發送單個命令。 所以我想知道:

我已經編寫了Python程序,該程序可以通過串行端口毫無問題地控制arduino。

是否可以在Django應用程序/站點的后台運行python腳本(即,它保持活動狀態並保持串行連接處於活動狀態),如果可以,如何通過django與該正在運行的進程進行通信,因此我可以創建帶有按鈕的頁面,然后將值傳遞給該后台進程?

Django-celery非常適合后台任務處理。 聽起來您可以將arduino代碼變成一項芹菜任務。 這使事情變得非常簡單-任務可以完全訪問django模型,並且django進程可以隨時啟動任務。

芹菜(芹菜)是一種出色的瑞士軍刀工具,您可以在需要比請求和響應周期更長的時間的任何時間使用。

這對我來說似乎是一個很好的參考:

http://www.hiddentao.com/archives/2012/01/27/processing-long-running-django-tasks-using-celery-rabbitmq-supervisord-monit/

我可能會建議最近將redis用作代理,b / c您也可以將redis用作緩存。

暫無
暫無

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

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