有谁知道我可以查看的方式或资源来检查任务计划程序中所有Windows任务的状态?我想看看是否看到任务失败或成功。我想在Python中做到这一点。
我已经看过一些使用win32com.client模块的信息。我可以看到什么任务,但是找不到完成的工作的状态。
import win32com.client
scheduler = win32com.client.Dispatch("Schedule.Service")
scheduler.Connect()
tasks = scheduler.GetRunningTasks(1)
names = [tasks.Item(i+1).Name for i in range(tasks.Count)]
print names
以下内容使用Task Scheduler API来打印所有已注册任务的基本信息,包括最后的运行时间和结果。
import win32com.client
TASK_ENUM_HIDDEN = 1
TASK_STATE = {0: 'Unknown',
1: 'Disabled',
2: 'Queued',
3: 'Ready',
4: 'Running'}
scheduler = win32com.client.Dispatch('Schedule.Service')
scheduler.Connect()
n = 0
folders = [scheduler.GetFolder('\\')]
while folders:
folder = folders.pop(0)
folders += list(folder.GetFolders(0))
tasks = list(folder.GetTasks(TASK_ENUM_HIDDEN))
n += len(tasks)
for task in tasks:
settings = task.Definition.Settings
print('Path : %s' % task.Path)
print('Hidden : %s' % settings.Hidden)
print('State : %s' % TASK_STATE[task.State])
print('Last Run : %s' % task.LastRunTime)
print('Last Result: %s\n' % task.LastTaskResult)
print('Listed %d tasks.' % n)
这仅从列表中的根文件夹开始。每次循环都会弹出一个文件夹。推送其所有子文件夹;并列出文件夹中的任务。它一直持续到文件夹列表为空。
COM接口
ITaskService
ITaskFolder
IRegisteredTask
ITaskDefinition
ITaskSettings
另外,这是一个walk_tasks
在标准库上建模的生成器os.walk
。
import os
import pywintypes
import win32com.client
TASK_ENUM_HIDDEN = 1
TASK_STATE = {
0: 'Unknown',
1: 'Disabled',
2: 'Queued',
3: 'Ready',
4: 'Running'
}
def walk_tasks(top, topdown=True, onerror=None, include_hidden=True,
serverName=None, user=None, domain=None, password=None):
scheduler = win32com.client.Dispatch('Schedule.Service')
scheduler.Connect(serverName, user, domain, password)
if isinstance(top, bytes):
if hasattr(os, 'fsdecode'):
top = os.fsdecode(top)
else:
top = top.decode('mbcs')
if u'/' in top:
top = top.replace(u'/', u'\\')
include_hidden = TASK_ENUM_HIDDEN if include_hidden else 0
try:
top = scheduler.GetFolder(top)
except pywintypes.com_error:
if onerror is not None:
onerror(error)
return
for entry in _walk_tasks_internal(top, topdown, onerror, include_hidden):
yield entry
def _walk_tasks_internal(top, topdown, onerror, flags):
try:
folders = list(top.GetFolders(0))
tasks = list(top.GetTasks(flags))
except pywintypes.com_error as error:
if onerror is not None:
onerror(error)
return
if not topdown:
for d in folders:
for entry in _walk_tasks_internal(d, topdown, onerror, flags):
yield entry
yield top, folders, tasks
if topdown:
for d in folders:
for entry in _walk_tasks_internal(d, topdown, onerror, flags):
yield entry
例
if __name__ == '__main__':
n = 0
for folder, subfolders, tasks in walk_tasks('/'):
n += len(tasks)
for task in tasks:
settings = task.Definition.Settings
print('Path : %s' % task.Path)
print('Hidden : %s' % settings.Hidden)
print('State : %s' % TASK_STATE[task.State])
print('Last Run : %s' % task.LastRunTime)
print('Last Result: %s\n' % task.LastTaskResult)
print('Listed %d tasks.' % n)
我看到了“krbeexception:Checksum failed”异常。看起来像是kerberos问题,但我无法解决。 任何关于如何解决问题的建议都会很好!提前谢谢。 机器细节: 没有可用的LSB模块。发行商ID:Ubuntu说明:Ubuntu 12.04.4 LTS发行版:12.04 java版本“1.7.0_55”OpenJDK运行时环境(IcedTea 2.4.7)(7u55-2.4.7
我最近在kubernetes集群中将我的Apache Flink升级到1.11版,但今天我发现一个任务检查点总是失败。此任务从RabbitMQ读取数据并计算结果并调用HTTP请求将数据保存到MySQL。这是任务管理器错误日志输出: 这是Apache FlinkUI错误消息: 工作总是在一段时间内重新启动。我有2个任务,另一个任务检查点保持成功。那么问题出在哪里,我应该怎么做才能解决这个问题? 这是
我相信字段选择器可能有一个bug,但只是想知道是否有任何修复或解决方案的细节。
我有一个服务器端应用程序,客户端可以请求重新加载配置。如果一个客户端请求重新加载配置,这不应该立即完成,而是延迟1分钟。如果另一个客户端也在同一分钟内请求重新加载配置,这个请求应该被忽略。 我的想法是安排一个任务与调度ExecutorService像: 如何检查LoadConfigurationTask是否已计划但尚未执行,以便在重新加载配置之前忽略进一步的请求?
所以我想知道,我想看看一个表是否已经被懒/急加载了,而没有在我检查时实际加载它。例如: 所以当我设置($this)时-
问题内容: 我正在尝试使用Flink 5.x Elasticsearch接收器连接器将数据插入到微型VM上托管的ES 5.2.1实例。 由于这是处于开发模式的微型VM,因此我无法使其启动以接受9300上的TransportClient远程客户端连接,而不会失败引导检查。 我已经尝试了以下设置,但无法启动(9200上的http客户端工作正常) 请注意,ES仅出于开发目的而在小型VM上运行,而我无权进