The content has not yet been written.
User tasks:
Je?eli zdefiniujesz tu funkcj?: init_schedule(scheduler, cmd, http), automatycznie b?dzie ona wywo?ana w trakcie startu systemu. Aby tak si? sta?o Pytigon musi by? odpowiednio w tym celu skonfigurwany: patrz Tasks)
Przykłady użycia: W przykładzie poniżej zaprezentowane są 3 typy zadań: 1. uruchamiane wg harmonogramu: - proste zadanie - przykład hello() - custom django-admin commands - przykłąd managesendmail, cmd stanowi proxy do akcji django (https://docs.djangoproject.com/en/2.1/howto/custom-management-commands/) - uruchomienie django views: przykład gen, http udostępnia metody get i post i stanowi proxy do serwera django. 2. uruchamiane zdalnie przez wywołanie funkcji XML-RPC, funkcję sum możesz uruchomić z programu zewnętrznego w sposób: import xmlrpc.client with xmlrpc.client.ServerProxy('http://localhost:7080/') as proxy: print(proxy.sum(2,3))
async def managesendmail(cmd): cmd("send_mail")
async def gen(http, id): param = { 'id': id } href = "/raporty/table/Raporty/action/gen/" http.post(None, href, param)
async def hello(): print("Hello world!")
def check_mail(mail): print(mail)
async def checkmails(imap4): imap4.checkmails(callback):
def initschedule(scheduler, cmd, http):
scheduler.addtask("hourly(at=30,inweekdays=range(1,6), inhours=range(5,17))", managesendmail, cmd)
scheduler.addtask("daily(at='22:30'))", gen, http=http, id='T')
scheduler.addtask("inminuteintervals(period=10)", checkmails, scheduler.imap4)
scheduler.addtask("insecondintervals(period=30)", hello)
def _sum(a,b):
return a+b
scheduler.add_rcp_fun("sum", _sum)