Как сделать задание фона Django при выходе из системы - PullRequest
0 голосов
/ 03 марта 2019

Я хочу сделать фоновый процесс в Django, который зацикливает некоторую функцию при нажатии кнопки запуска и останавливает зацикливание при нажатии кнопки остановки.Он должен работать, когда пользователь находится в автономном режиме (вышел из системы). Каждый пользователь должен иметь отдельный процесс.

До сих пор я решил использовать Threading, но я пока не знаю, как это сделать.будет работать Я только что создал класс, который запускается или останавливается Threads это выглядит так:

class Decide(threading.Thread):
    """Thread for making decision to buy or sell """
    def __init__(self, name):
        threading.Thread.__init__(self)
        # flag to pause thread
        self.paused = True
        self.pause_cond = threading.Condition(threading.Lock())
        self.pause_cond.acquire()
        self.name = name

    def run(self):
        while True:
            with self.pause_cond:
                while self.paused:
                    self.pause_cond.wait()

                # Buy_wait_sell()
                print("I am looping~!!")
            time.sleep(1)

    def pause(self):
        # Acquire to lock worker
        self.paused = True
        self.pause_cond.acquire()

    # should just resume the thread
    def resume(self):
        self.paused = False
        # Notify so thread will wake after lock released
        self.pause_cond.notify()
        # Now release the lock
        self.pause_cond.release()

Это хорошая концепция?Как бы я назначил поток пользователю?Может быть, models методы?Будет ли это на самом деле, когда я выйду из системы, или django убьет этот процесс?Что может быть неэффективным, когда поток будет запущен с созданием пользователя?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...