반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 파이썬네이버부동산
- 파이썬 가상환경 설치
- Selenium 셀렉터잡기
- 네이버부동산크롤링
- Uipath 설치방법
- pycdc.exe
- 네이버커머스API
- selenium
- pywinauto 윈도우제어
- Element is not clickable at point
- 날짜 정규식
- 가상환경설치
- 파이썬 네이버 로그인
- 파이썬 환경설정
- Uipath 기초
- 커머스API
- pywinauto 윈도우
- vscode venv 설치
- 네이버 로그인 캡챠해결
- uipath 입문
- pywinauto
- 네이버 로그인 영수증 해결
- 네이버매물크롤링
- pycdas.exe
- venv 설치
- Python
- UiPath
- 네이버 로그인 하기
- 왕초보 파이썬 실행
- 파이썬 가상환경 설치방법
Archives
- Today
- Total
콘솔워크
python apscheduler BackgroundScheduler start specific times 본문
반응형
python을 이용하여 apscheduler를 쓰는데, 특정 시간 대에만 스케쥴 작업이 필요하였다.
add_job을 여러개 등록하면, 랜덤하게 시작되는 현상이 있어서
add_job에 CronTrigger를 여러개 등록하는 방식으로 하니까 잘 되었다.
CronTrigger들은 OrTrigger로 묶어서 진행하면 된다.
from apscheduler.triggers.combining import OrTrigger
from apscheduler.triggers.cron import CronTrigger
from apscheduler.schedulers.background import *
class Thread30min(QThread):
def __init__(self):
super().__init__()
self.scheduler = BackgroundScheduler(timezone="Asia/Seoul")
self.scheduler.start()
self.isStartNow = False
self.is_reserve_run = True
self.threadId = "upload_30min"
def addReserveJob(self):
triggers = OrTrigger(
[
CronTrigger(day_of_week="mon-fri", hour=8, minute=30),
CronTrigger(day_of_week="mon-fri", hour=9, minute=30),
CronTrigger(day_of_week="mon-fri", hour=11, minute=30),
CronTrigger(day_of_week="mon-fri", hour=12, minute=0),
CronTrigger(day_of_week="mon-fri", hour=15, minute=0),
CronTrigger(day_of_week="mon-fri", hour=15, minute=30),
]
)
self.scheduler.add_job(
self.startJobs,
triggers,
id=self.threadId,
)
while self.is_reserve_run:
time.sleep(1)
def startJobs(self):
self.log_msg.emit("startJobs")
def stop(self):
self.is_reserve_run = False
try:
self.scheduler.remove_job(self.threadId)
except:
pass
try:
self.terminate()
except Exception as e:
print(e)
반응형
'프로그래밍 > python' 카테고리의 다른 글
Pandas의 객체 복사 .copy() (0) | 2022.10.20 |
---|---|
[selenium] 크롬 드라이버의 기본 설치 경로 변경 (0) | 2022.10.18 |
xlsx 파일을 xls로 변환 (0) | 2022.10.12 |
따옴표 안의 문자열을 추출하는 정규식 (0) | 2022.10.07 |
dataframe contains and operation 여러 조건을 만족하는 데이터 필터링 (0) | 2022.10.05 |