如何每天上午10点运行python func

时间:2017-09-21 07:19:45

标签: python time slack

Func应该在上午10点运行,一个arg,另一个11,但我不知道该使用什么。那个缘故有图书馆吗? 这是我的职责:

import os
from slackclient import SlackClient

BOT_NAME = "bot"
SLACK_API_TOKEN = "token"
BOT_ID = "id"

sc = SlackClient(SLACK_API_TOKEN)


def send_message(text):
    sc.api_call(
        "chat.postMessage",
        channel="#madchickens",
        text=text
    )
send_message("here func work")

1 个答案:

答案 0 :(得分:1)

用户@icedwater是对的:安排在特定时间间隔,一天中的某个时间,一周中的某一天,一天中的某些日期等运行的工作是一个最好的工作,使用经过验证的* nix工具,如{{{} 3}}。

但是,鉴于答案,您可以修改脚本以使用sleep(n)模块中的time函数,以允许您的机器人/脚本每隔n秒执行一次操作。这是一个每24小时运行一次动作的例子:

import time

SECONDS_PER_HOUR = 3600
HOURS_PER_DAY = 24

while True:
    print("glorp")
    time.sleep(SECONDS_PER_HOUR*HOURS_PER_DAY)

您还可以使用sleep每小时运行一次功能,并检查小时数是多少,根据小时数执行条件操作(这里的小时数是24小时格式,因此0表示午夜,12表示正午,23下午11点,等等):

import time
import datetime

while True:
    now = datetime.datetime.now()
    if(now.hour==8):
        print("bleep")
    if(now.hour==10):
        print("bloop")
    if(now.hour==23):
        print("blarp")
    time.sleep(3600)

这些是可以使用cron作业轻松复制的简单示例,但您可以看到如何构建这些示例以实现更复杂和有趣的时序逻辑...

相关问题