使用async使函数按计划运行。

async-sched的Python项目详细描述


使用async使函数按计划运行。在

示例

异步计划可以按计划运行任务。它还可以接收新任务(以有限的方式)并更改运行 在不停止服务的情况下计划。在

scheduler.py
schedules/
    task1.py
    task2.py
^{pr2}$

计划目录中的任务1将自动导入。因为启动服务器将服务器设置为 使用get_server可访问属性,我们可以动态添加计划。在

# schedules/task1.pyfromasync_schedimportget_server,Scheduleimportdatetimedefprint_task1():print('Hello! I am task 1 '+str(datetime.datetime.now()))s=Schedule(seconds=30,repeat=True)# This will remove an existing 'Task 1' and schedule a new 'Task 1'server=get_server()server.add('Task 1',s,print_task1)

在Task2文件中,我们没有调度任何命令,但是我们注册了一个可以运行的回调函数 后来从客户那里。在

# schedules/task2.pyfromasync_schedimportget_server,Scheduleimportdatetimeserver=get_server()@server.register_callback# or @server.register_callback('print_task2')defprint_task2(name):print('Task 2 is running! ',name,str(datetime.datetime.now()))

现在运行调度服务器来监听远程命令并管理正在运行的计划。在

python scheduler.py

# or python -m async_sched.server.run –path “schedules” –host “127.0.0.1” –port 8000

使用客户端打印运行计划。在

python -m async_sched.client.request_schedules –host “127.0.0.1” –port 8000

重新加载/schedules/目录中的文件。在

python -m async_sched.client.update server –host “127.0.0.1” –port 8000

停止正在运行的计划。在

python -m async_sched.client.stop_schedule “Task 1” –host “127.0.0.1” –port 8000

运行已注册的回调函数。在

python -m async_sched.client run_command “print_task2” “hello” –host “127.0.0.1” –port 8000

调度已注册的命令。在

python -m async_sched.client schedule_command “print_task2” “hello” –seconds 10 –host “127.0.0.1” –port 8000

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中运行时在两个枚举类之间切换   java如何让PicoContainer启动/停止/处置工厂注入的组件?   带有Recyclerview onClick的java多活动   java如何从TestNG tests和Selenium接口调用默认方法?   java无法在Eclipse3.5.2中折叠注释   RR和SJF CPU调度算法的Java代码   java从属性文件配置记录器   java Notify传输在字符更改后超过20个字节完成   java阵列究竟是如何工作的   java跨类/包维护全局但可变的变量   java向setMessageListener注册侦听器服务   java按钮单击不在片段中工作   java GSSExException:使用spnego在GSSAPI上未指定故障(机制级别:不支持/启用带有HMAC SHA196的加密类型AES256CTS模式)   用java绘制虚线的图形   java从networkdrive启动windows捆绑包使用不包括JRE?   多线程java线程体系结构与应用程序设计