<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      使用Golang + lua實現一個值班機器人

      我們在的項目組呢,有一項工作是,收郵件(很大程度上使用郵件是為了存個底),然后從我們的系統里邊查一下相關信息,然后回復個郵件的工作。雖然工作量并不大,但是會把時間切的稀碎。為了拯救我的時間,所以做了一個郵件的值班機器人。讓他來頂替我自動回復郵件,考慮到這個東西應該也有不少人會用得到,所以就把這個東西分享出來。先把效果分享出來。

      服務器上就很簡單,dutyrobot就是Golang編譯之后的框架。lua文件夾中就是使用lua編寫的業務邏輯。Data.json就是保存了一些相關的數據,防止重啟之后,數據丟掉,比如說Cookie信息。

      用最基礎的alpine進行啟動一下,并且將相關的文件夾映射到容器里邊,然后在容器里邊啟動軟件。這么做主要是為了讓鏡像能夠擁有自己的環境變量。

       

       然后業務邏輯里邊定期,收郵件,然后判定業務邏輯,執行對應的lua腳本,然后回復郵件。

       

      在順手往我們的內部事務群里邊推一條相關結果。

       

       

      其實我本職是C#程序員來著,做這個東西,最先也是使用C#來實現的,不過C#跟Lua相性不好,我沒有找到比較優雅的類庫。要上Linux系統,用.net core + C 調用lua的方式雖然也嘗試過,但是我本身對這件事情還是非常虛的。Python的各種包安裝都給我搞蒙蔽了。所以最后就選用了Golang來寫底層函數公布給Lua,然后讓lua來寫各種業務邏輯的方式來實現整個項目。框架部分嘛,一旦寫完,改動的幾率還是比較低的,并且Window交叉編譯Linux,直接就可以部署上線,連個環境都不用裝,簡直爽歪歪。lua解釋性語言,出了啥都沒有以外其他的都挺好的。

      基礎框架都是通用的,所以可以直接放出來,拿出來用。只需要關心自己的業務內容就可以了。

      基礎框架:https://gitee.com/anxin1225/DutyRobotGo

      在這個框架里邊,我給lua提供了不少功能,主要包括收發郵件,發起網絡請求,發起網絡監聽(甚至可以拿這個做底層做一個小型的API站,信我,我這么做過了已經),臨時存個數據,獲取環境變量,獲取文件內容,再啟動一個Lua容器(沒錯,lua又再起一個lua容器的能力),獲取當前系統信息,cron定時任務。當然如果你覺得不夠的話,還可以進行二次擴展,其實非常容易,我已經寫了好多了,比著抄一下,很容易的。不過一般情況下不用擴展了,我這邊就不深入講解框架部分了,畢竟,怎么做業務才是重點。

      然后,講一下Lua部分是怎么實現的。因為Golang里邊的代碼是直接找到了main.lua進行執行的,我們也就從這個文件開始講起。

       

       我將好多服務注冊了進來,究竟有哪些服務呢,還是得去看看框架里邊怎么寫的。Cron就是我寫的其中一個小功能。其實就是task任務,對應到框架部分呢可以查看tasks文件夾里去看具體的實現,可以看到倆邊有兩個文件,其中task.go是Golang的語言函數task_4lua.go就是把Golang的函數公開給lua來調用的接口注冊的位置。

       

       

       

       我們來看到task_4lua.go這個文件里邊,一般會存在一個函數叫做RegisterFunc_4lua就是注冊用的。

       

       這就很眼熟了,Cron就是lua用的類的名字,下邊這個map就是他們對應的需要調用的名字,后邊會對照著golang這邊的函數,一般函數里邊我會寫上lua那邊應該怎么調用。如果找不到的話,可以來框架這邊翻一翻,有驚喜也說不定。

       

       

       

      我的業務里邊。就是每分鐘接收一下,每5分鐘保存一下Cookie。真正的業務邏輯其實就寫在各個lua文件里邊。我們去看一下怎么接收消息和處理消息的。

       

       

       這里邊就是簡單的lua的業務邏輯了,收一下郵件,然后調用對應的處理lua,處理完了就完事了。

       

       

       

      posted @ 2020-05-07 22:22  連程  閱讀(2754)  評論(2)    收藏  舉報
      主站蜘蛛池模板: 无码囯产精品一区二区免费| 四川丰满少妇无套内谢| 中文字幕人妻精品在线| 377p日本欧洲亚洲大胆张筱雨| 亚洲自拍偷拍激情视频| 人妻少妇久久中文字幕| 国产精品大全中文字幕| 亚洲偷自拍另类一区二区| 国产精品电影久久久久电影网 | 海南省| 日本一二三区视频在线| 国产精品亚洲一区二区三区| 一区二区三区精品自拍视频| 亚洲精品乱码久久久久久中文字幕| 国产乱码日产乱码精品精| 国产大陆av一区二区三区| 老熟女熟妇一区二区三区| 日韩av裸体在线播放| 精品日韩亚洲av无码| 国产精品丝袜亚洲熟女| 好爽毛片一区二区三区四| 国产美女久久久亚洲综合| 欧美日本激情| gogogo在线播放中国| 国产欧美日韩免费看AⅤ视频| 99精品国产在热久久婷婷| 超碰成人精品一区二区三| 最新精品国偷自产在线| P尤物久久99国产综合精品| 日夜啪啪一区二区三区| 日韩精品一区二区亚洲专区| 亚洲精品乱码久久久久红杏| 亚洲人成网站在线无码| 精品一区二区成人精品| 亚洲午夜无码久久久久蜜臀av | 欧美国产日韩久久mv| 在线观看国产成人av片| 国产超碰无码最新上传| av在线中文字幕不卡电影网| 国产96在线 | 亚洲| 精品免费看国产一区二区|