Менеджер сценариев работает

This commit is contained in:
2020-03-22 14:35:16 +03:00
parent 65161271bb
commit 7388fece07
5 changed files with 19 additions and 6 deletions

View File

@@ -72,7 +72,8 @@ def workshop():
new_scenario = db_routing.add_scenario(current_user.get_id(), newScenarioName, triggerID, triggerArgs,
actionID,
actionArgs)
Executor(new_scenario)
activeScenario = Executor(new_scenario)
activeScenario.start()
return redirect(url_for('workshop'))
if 'TGUsername' in request.form:

View File

@@ -2,6 +2,8 @@ from db_routing import add_trigger, add_action
def db_fill():
add_trigger('Тест', 'test_trigger')
add_trigger('Будильник', 'alarm_clock')
add_trigger('Проверить почту', 'check_email')
add_action('Тест', 'test_action')

View File

@@ -119,7 +119,6 @@ def get_user_scripts(current_user_id):
def delete_scenario(scenario_id):
print(scenario_id)
scenario = Scenario.query.filter_by(id=scenario_id).first()
db.session.delete(scenario)
db.session.commit()

View File

@@ -1,11 +1,11 @@
from threading import Thread
from triggers import *
import triggers
import db_routing
class Executor(Thread):
def __init__(self, scenario):
threading.Thread.__init__(self)
Thread.__init__(self)
self.sceanrio_id = scenario.id
self.trigger_def = db_routing.get_trigers(scenario.id).def_name
self.trigger_args = scenario.trigger_args
@@ -13,8 +13,10 @@ class Executor(Thread):
self.action_args = scenario.action_args
def execute(self):
self.trigger_def(self.trigger_args)
self.action_def.def_name(self.action_args)
trigger = getattr(triggers, self.trigger_def)
trigger(self.trigger_args)
action = getattr(triggers, self.action_def)
action(self.action_args)
def run(self):
thread = Thread(target=self.execute)

View File

@@ -68,6 +68,15 @@ def check_email(gmail_user, gmail_pass):
# Чтобы запустить будильник 1, Парсер 2
Mode = 2
def test_trigger(var):
time.sleep(int(var))
def test_action(var):
print("Я пишу", var)
# Для создания потока будильника передаются:
# Id юзера который поставил будильник, и значения времени которые он поставил. Поток создаётся с именем(id) юзера
if __name__ == '__main__':