我试图通过删除job
并完全关闭它来阻止apscheduler继续运行!
它们都不起作用,我的函数expire_data
仍然被触发
def process_bin(value):
print "Stored:",pastebin.value
print "Will expire in",pastebin_duration.value,"seconds!"
if pastebin_duration>=0:
scheduler = BlockingScheduler()
job=scheduler.add_job(expire_data, 'interval', seconds=5)
scheduler.start()
job.remove()
scheduler.shutdown()
def expire_data():
print "Delete data!"
我该如何阻止它?
答案 0 :(得分:2)
问题:我正试图阻止apscheduler运行
您使用的是BlockingScheduler
,因此您无法使用var array1 = [ 'A', 'B', 'A', 'B'];
var array2 = [ 5, 5, 7, 5];
var array3 = [true,true,true,true];
all_arrays = [array1, array2, array3];
let obj = {};
for (let i = 0; i < all_arrays[0].length; i++)
{
let new_obj = recursive_objects(all_arrays, 0, i)
$.extend(true, obj, new_obj);
}
console.log(obj);
function return_array(array, temp_obj)
{
let keys = Object.keys(temp_obj);
for (let key of keys)
{
}
}
function recursive_objects(arrays, arrays_index, index)
{
let obj = {}
if (arrays_index < arrays.length)
{
obj[arrays[arrays_index][index]] = recursive_objects(arrays, ++arrays_index, index);
}
return obj;
}
。
APScheduler BlockingScheduler
BlockingScheduler是最简单的调度程序 它在前台运行,所以当你调用start()时,调用永远不会返回。
了解Choosing the right scheduler
- BlockingScheduler:在调度程序是您的流程中唯一运行的时候使用
- BackgroundScheduler:在您不使用以下任何框架时使用,并希望调度程序在应用程序内部的后台运行
- AsyncIOScheduler:如果您的应用程序使用asyncio模块,则使用
- GeventScheduler:如果您的应用程序使用gevent
,请使用- TornadoScheduler:如果您正在构建Tornado应用程序,请使用
- TwistedScheduler:如果您正在构建Twisted应用程序,请使用
- QtScheduler:如果您正在构建Qt应用程序,请使用