Support scheduling of task via command line interface.
Project description
CLI Scheduler
Library support scheduling of task via command line interface.
Installation
pip3 install python-cli-scheduler
Usage
Scheduler format: ^<run_now>@<interval>/<delay>$<end_timestamp>#<retry>
Parameters:
run_now
: Execute now. Default:True
interval
: Repeat execute after number of seconds. If set toNone
, execute one time and not repeat. Default:None
delay
: Execute at seconddelay
-th at each interval. Default: `0end_time
: Execute untilend_time
. If set toNone
, infinite repeat. Default:None
retry
: Retry if exception when executed. Default:True
Example
Use with decorator
Coming soon
Use with scheduler job class
Example job to print a lucky number at second 3 every minute.
import time
import random
from cli_scheduler.scheduler_job import SchedulerJob
class RotationLuckJob(SchedulerJob):
def __init__(self, scheduler):
super().__init__(scheduler=scheduler)
def _pre_start(self):
self.logger.info('Rotation luck. Have fun !')
def _start(self):
self.n = random.randint(0, 1000)
def _execute(self, *args, **kwargs):
self.logger.info(f'The lucky number is {self.n}')
def _end(self):
del self.n
def _follow_end(self):
self.logger.info('Done')
if __name__ == '__main__':
end_time = int(time.time()) + 5 * 60
# ^false: Not execute now
# @60: Repeat execute every 60 second
# /3: Execute at second 3
# ${end_time}: Run until end_time
# #false: Don't retry if exception when execute
job = RotationLuckJob(scheduler=f'^false@60/3${end_time}#false')
job.run()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for python-cli-scheduler-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e168342e1d4b2bab1ddb5bfa83c6f8ee561e9c902a86e086345a14cb915cd6ba |
|
MD5 | 0b1e995ba100991bad356d77e3537431 |
|
BLAKE2b-256 | 90577d093ed27dd944c9730459bb1e055c60bc690d2e640e006dc2fb723d24cc |
Close
Hashes for python_cli_scheduler-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6958cd6a9ef433ae909d99c332347e167a92c0f17794fe0cea574133eb965fb |
|
MD5 | 283727958fa324a550d5ce50a8e923fd |
|
BLAKE2b-256 | 5b86d00e1172e919022e20209a287b97cee7a14840012ff37efab19a10f118fa |