Size: a a a

2020 November 14

A

Alexander in Python Flask
Блин. Рили, у меня вообще docker-compose для него. Я запустил еще один раз в системе и отработало. А как бы это в docker-compose прописать, чтобы там крутились все воркеры?

---
version: '3.2'
services:
  rq-staging:
    container_name: rq-staging
    image: rq-base
    network_mode: host
    restart: on-failure
    command: rq worker tasks


прописать 2 команды в command не работает
источник

T

Tishka17 in Python Flask
Запускать несколько контейнеров
источник

V

Vladi in Python Flask
В случае celery можно указать количество, там идут как подпроцессы
источник

V

Vladi in Python Flask
Tishka17
Запускать несколько контейнеров
А так +1, использовать один и тот же образ, создать несколько контейнеров с разным именем выполняющие одну и ту же команду запуска
источник

V

Vladi in Python Flask
Хотя можно немного говнокода и поднять в одном контейнере несколько воркеров
источник

A

Alexander in Python Flask
Ну вот такой отрабатывает
command: bash -c "rq worker tasks && rq worker tasks”
но работает один
источник

T

Tishka17 in Python Flask
Конечно, && же
источник

T

Tishka17 in Python Flask
Второй запустится после успешного завершения первого
источник

A

Alexander in Python Flask
Просто через & вроде запускается. Но все равно только 1 работает

11:02:00 Worker rq:worker:b20c4b0ac8b0496dacfb6257e85fb738: started, version 1.6.1
11:02:00 Worker rq:worker:845da71898564098b8517b2b0bf6e6ca: started, version 1.6.1
11:02:00 Subscribing to channel rq:pubsub:b20c4b0ac8b0496dacfb6257e85fb738
11:02:00 Subscribing to channel rq:pubsub:845da71898564098b8517b2b0bf6e6ca
11:02:00 *** Listening on opsdashboard-tasks...
11:02:00 *** Listening on opsdashboard-tasks…
источник

T

Tishka17 in Python Flask
Alexander
Просто через & вроде запускается. Но все равно только 1 работает

11:02:00 Worker rq:worker:b20c4b0ac8b0496dacfb6257e85fb738: started, version 1.6.1
11:02:00 Worker rq:worker:845da71898564098b8517b2b0bf6e6ca: started, version 1.6.1
11:02:00 Subscribing to channel rq:pubsub:b20c4b0ac8b0496dacfb6257e85fb738
11:02:00 Subscribing to channel rq:pubsub:845da71898564098b8517b2b0bf6e6ca
11:02:00 *** Listening on opsdashboard-tasks...
11:02:00 *** Listening on opsdashboard-tasks…
Вон два жп
источник

T

Tishka17 in Python Flask
Хз что за channel
источник

A

Alexander in Python Flask
Alexander
$ python rq_redis.py 
start job1= c83368f5-b595-40e2-840e-2e2ff1feec21
start job2= 65dde79f-f498-4a19-8e1e-d638a0f842c6
1.005457878112793 sec
2.0066170692443848 sec
3.0082387924194336 sec
4.009780168533325 sec
5.010613679885864 sec
6.01216721534729 sec
id_job1='c83368f5-b595-40e2-840e-2e2ff1feec21' job1.result='timeout'
7.013814449310303 sec
8.014616966247559 sec
9.016100406646729 sec
10.017534494400024 sec
11.018614292144775 sec
id_job2='65dde79f-f498-4a19-8e1e-d638a0f842c6' job2.result='timeout’


Получается оно синхронно.
Мне нужно асинхронно запускать кучу скриптов и выдавать от них результаты без задержек.
Запущены то да. Но задача вторая вообще не отрабатывается.
источник

A

Alexander in Python Flask
Там есть какой-то supervisor. Надо с ним разобраться походу.
источник

A

Alexander in Python Flask
источник

T

Tishka17 in Python Flask
Нахуй
источник

A

Alexander in Python Flask
Tishka17
Нахуй
Пачка контейнеров лучше?
источник

T

Tishka17 in Python Flask
Это не какой-то специальный reшный супервизор, это обычный супервизорд который зачем-то пихнули в контейнер
источник

T

Tishka17 in Python Flask
Alexander
Пачка контейнеров лучше?
Да
источник

T

Tishka17 in Python Flask
Их хотя бы можно запускать на разных серверах
источник

T

Tishka17 in Python Flask
То, что ты юзаешь композ, а не кубернетес или сварм, или ещё что-то, тебя сильно ограничивает в принципе
источник