mrq:
python 2.7+
mongodb >= 2.4
redis >= 2.6
mrq依賴redis和mongodb,需要分別安裝mongodb,redis
安裝mrq直接使用:pip install mrq
參考:/blob/master/docs/configuration.md
mrq-config.py:
#!/usr/bin/env python
# coding=utf-8
"""mongodb 配置"""
mongodb_jobs =
"mongodb:"
"""redis配置"""
redis =
"redis:"
"""mrq-worker配置"""
#定時任務配置 /blob/master/docs/jobs-maintenance.md
scheduler =
true
#run the scheduler.defaults to false.
scheduler_tasks =
[dict
(path=
"test.py"
, params=
dict()
, interval=
300,
queue=
"test1"),
# 增加其他的定時任務
]
task.run(self, params) :
每個任務都必須繼承mrq.task.task類,該類提供task.run(self, params) 介面,所有任務的主要執行入口。
在mrq中使用該介面建立任務並放入執行佇列的方法:queue_job(main_task_path, params, queue=none)
如果未提供佇列,則將使用配置中定義的該任務的預設佇列。如果沒有,則使用佇列預設值,返回作業的id。
from mrq import context, job, task
from subprocess import popen, pipe, devnull
class
testqueue
(task.task)
:"""任務入佇列"""
defrun
(self, params)
: field =
'' job.queue_job(
"test_run"
, field, queue=
"test1"
)class
testrun
(task.task)
:"""任務執行"""
defrun
(self, params)
: cmd =
'cat test.txt'
#執行某個shell 任務
shell = popen(cmd, stdout=pipe, stderr=devnull)
php實現多session併發執行
php實現多session併發執行 瀏覽統計 year 2537 quarter 344 month 53 week 21 today 6 首先介紹一下session的概念 所謂session是微軟首先提出的,在asp中最先整合。由於session的採用,大大方便了web開發員的工作。一時間asp風...
SpringBoot併發執行定時任務
剛剛看了下spring boot實現定時任務的文章,感覺還不錯。spring boot 使用spring自帶的schedule來實現定時任務變得非常簡單和方便。在這裡個大家分享下。enablescheduling 開啟定時任務 public static void main string args ...
使用subprocess模組非同步併發執行遠端命令
運維自動化平台不可避免地會涉及到遠端命令執行操作,主要分為兩類主要做法 目標機器安裝agent,或者使用ssh。saltstack是乙個典型的agent模式的遠端控制工具,麻煩的地方是首先要在目標機器上安裝saltstack的agent。使用ssh的模組居多,fabric和ansible是此類工具中...