У меня есть небольшое веб-приложение, и оно обрабатывает фоновую задачу. На выполнение задания отводится 5 минут. Поэтому я использовал планировщик.
Я настроил планировщик как службу на машине с Ubuntu.
[Unit]
Description=Web2Py scheduler service
[Service]
ExecStart=/usr/bin/python /home/www-data/web2py/web2py.py -K myapp
Type=simple
[Install]
WantedBy=multi-user.target
Теперь это веб-приложение, и длительный процесс запускается из пользовательского интерфейса. Теперь, когда этот процесс запускается из нескольких браузеров, кажется, что планировщик ожидает последовательного выполнения задач в том порядке, в котором они были запущены.
Не могли бы вы подсказать способ, чтобы планировщик сразу брался за выполнение задания, как только увидел задание.
На данный момент я инициирую задачу следующим образом:
def initiate_fileprocess(proc_row_id):
#code to parse and return result
scheduler.queue_task(initiate_fileprocess, pvars=dict(proc_row_id=proc_row_id), timeout=3600)