我有一个在 VK 上发布帖子的脚本,我希望他每天在特定时间发布它们。为了测试,我决定把脚本的执行时间放在 5 秒内。但由于某种原因,没有任何效果,我运行脚本,然后我去小组,10 秒后,应该在哪里布置帖子,那里什么都没有。然后我在没有库的情况下执行脚本schedule
,一切正常。告诉我有什么问题?
编码:
import requests
import time
import schedule
test = '-63869928'
text = 'Test, Test, Test'
image = 'photo395296157_457250641'
global token
token = 'Мой токен'
def safe_file():
a = requests.post('https://api.vk.com/method/wall.post', data={
'owner_id': test,
"access_token": token,
'v': 5.122,
'message': text,
'attachments': image,
}).json()
print(a)
def parser():
print('\n', ' Начинается выгрузка постов', '\n', ' Пожалуйста подождите...')
safe_file()
print(' Готово!')
# parser()
job1 = schedule.every(5).seconds.do(parser)
for i in range(2):
schedule.run_pending()
time.sleep(1)
schedule.cancel_job(job1)
您正在使用一个
for i in range(2)
只会schedule.run_pending()
调用两次的循环。因此scheduler
,等待 5 秒的 永远不会被执行。这是一个示例代码:
结论:
您可以使用:
结论:
你说:
因此你不需要:
调整延迟或使用就足够了:
但是如果您仍然需要取消任务,您可以执行以下操作:
当
canceled
它变得相等True
时,它将scheduler
停止。