Job 介面 Q訊息

2021-10-08 04:19:29 字數 2407 閱讀 9515

做專案的自動化過程中,經常聽到job、介面、mq訊息相關的名詞。

就想把這些個東西搞明白,定義、區別、作用,實現等。

1、job

是定時任務。在某個時間段、某個時間點執行。

定時任務中可以呼叫介面,可以傳送mq訊息。

例如:每天早上六點喊我起床就是乙個定時任務,就算是乙個job了。

python中實現job:

"""1.迴圈sleep實現"""

from datetime import datetime

import time

# 每n秒執行一次

def timer(n):

while true:

print(datetime.now().strftime("%y-%m-%d %h:%m:%s"))

time.sleep(n)

# 5s

timer(5)

"""2.threading模組中的timer實現job"""

from datetime import datetime

from threading import timer

# 列印時間函式

def printtime(inc):

print(datetime.now().strftime("%y-%m-%d %h:%m:%s"))

t = timer(inc, printtime, (inc,))

t.start()

# 5s

printtime(5)

"""

3.使用sched模組

(1)生成排程器:

s = sched.scheduler(time.time,time.sleep)

第乙個引數是乙個可以返回時間戳的函式,第二個引數可以在定時未到達之前阻塞。

(2)加入排程事件

其實有 enter、enterabs 等等,我們以 enter 為例子。

s.enter(x1,x2,x3,x4)

四個引數分別為:間隔事件、優先順序(用於同時間到達的兩個事件同時執行時定序)、被呼叫觸發的函式,給觸發函式的引數(注意:一定要以 tuple 給,如果只有乙個引數就(xx,))

(3)執行

s.run()

注意 sched 模組不是迴圈的,一次排程被執行後就 over 了,如果想再執行,請再次 enter

"""import sched

import time

from datetime import datetime

# 初始化sched模組的 scheduler 類

# 第乙個引數是乙個可以返回時間戳的函式,第二個引數可以在定時未到達之前阻塞。

schedule = sched.scheduler(time.time, time.sleep)

# 被週期性排程觸發的函式

def printtime(inc):

print(datetime.now().strftime("%y-%m-%d %h:%m:%s"))

schedule.enter(inc, 0, printtime, (inc,))

# 預設引數60s

def main(inc=60):

# enter四個引數分別為:間隔事件、優先順序(用於同時間到達的兩個事件同時執行時定序)、被呼叫觸發的函式,

# 給該觸發函式的引數(tuple形式)

schedule.enter(0, 0, printtime, (inc,))

schedule.run()

# 10s 輸出一次

main(10)

"""

4.apscheduler定時框架

pip install apscheduler

具體的博文可看:

"""from apscheduler.schedulers.blocking import blockingscheduler

from datetime import datetime

# 輸出時間

def job():

print(datetime.now().strftime("%y-%m-%d %h:%m:%s"))

# blockingscheduler

scheduler = blockingscheduler()

scheduler.add_job(job, 'cron', day_of_week='1-5', hour=16, minute=7)

scheduler.start()

2、介面

輸入請求資料,進行邏輯處理,然後返回響應資料。一般都是資料庫的crud操作。

3、mq訊息

分為生產者、消費者、訊息。

以上完成了job、介面、q訊息的基本闡述。

深入biztalk清理訊息作業 job

biztalk 中訊息儲存在 messagebox 資料庫的 spool 表和parts 表中。spool 表的內容是訊息的總體性描述和訊息的上下文屬性,一條訊息在此表中為一條記錄。parts 表存放多部分訊息的各個部分,乙個部分在此表中佔一條記錄。哪乙個是正文部分由 spool 表中的uidbod...

Python UDP協議,冒充飛Q傳送訊息

import socket 網路通訊 tcp,udp 飛q傳送訊息報文的格式 mystr 1 lbt4 10 32899 002481627512 0 0 0 1289671407 你的baby 你的hello 288 你好妹子 socket.af inet 網路通訊,windows af inet...

jenkins構建job後自動發釘釘訊息通知

目前,越來越多的公司使用了釘釘辦公,那麼我們在持續整合中,也可以直接選擇dingding外掛程式的,對傳送的釘釘訊息進行了定製,直接安裝乙個外掛程式就可以傳送了,但是外掛程式只是簡單的通知,不支援 群裡的人,這樣的需求,可對釘釘進行二次開發。一 獲取釘釘的token值供後續使用。找到釘釘群 群主或者...