Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 5, 2020 16:36:10

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

помогите с "фонофым" потоком или процессом или еще как это называется..

ivin тут нужно смотреть что конкретно делают ваши“фоновые задачи”, есть подозрение что они не завершаются вовремя(или вообще), вот и получаете со временем “maximum number of running instances reached”, срабатывает “защита от дурака” чтобы вы не заспавнили стотыщмилленов потоков и не повесили компьютер.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 5, 2020 16:39:53)

Офлайн

#2 Фев. 6, 2020 08:28:25

ivin
Зарегистрирован: 2020-01-23
Сообщения: 20
Репутация: +  1  -
Профиль   Отправить e-mail  

помогите с "фонофым" потоком или процессом или еще как это называется..

PEHDOM
нужно смотреть что конкретно делают ваши“фоновые задачи”,
дык в стандартном примере в крайнем посте #10 ни чего они такого не не делают

Офлайн

#3 Фев. 6, 2020 09:06:56

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

помогите с "фонофым" потоком или процессом или еще как это называется..

ivin
дык в стандартном примере в крайнем посте #10 ни чего они такого не не делают
а через какое время оно вам выбрасывает maximum number of running instances reached? я вот запустил вчера пример часов в 5-ть, до сих пор работает…



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#4 Фев. 6, 2020 12:14:58

ivin
Зарегистрирован: 2020-01-23
Сообщения: 20
Репутация: +  1  -
Профиль   Отправить e-mail  

помогите с "фонофым" потоком или процессом или еще как это называется..

код

 from datetime import datetime
import time
import os
from apscheduler.schedulers.background import BackgroundScheduler
def tick():
    print('Tick! The time is: %s' % datetime.now())
if __name__ == '__main__':
    scheduler = BackgroundScheduler()
    scheduler.add_job(tick, 'interval', seconds = 3)
    scheduler.start()
    print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
    try:
        # Это здесь для имитации активности приложения (которая поддерживает основной поток).
        while True:
#            time.sleep(1)
            x = input('>>>')
            print ('работа проги -',x)
    except (KeyboardInterrupt, SystemExit):
        # Строго не требуется, если включен демонический режим, но его следует делать, если это возможно
        scheduler.shutdown()

вот:
Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 17:26:49) on win32
Type “copyright”, “credits” or “license()” for more information.
>>>
RESTART: C:\Google Диск\Кодинг\Проба пера\Многопоточность\cheduler_proba.py
Press Ctrl+Break to exit
>>>ку
работа проги - ку
>>>ку
Tick! The time is: 2020-02-06 17:12:37.652356работа проги -
ку
>>>ук
работа проги - ук
>>>ку
Tick! The time is: 2020-02-06 17:12:40.660528Execution of job "tick (trigger: interval, next run at: 2020-02-06 17:12:43 +07)“ skipped: maximum number of running instances reached (1)работа проги -

ку
>>>

вот еще:
>>>asdv
Tick! The time is: 2020-02-06 17:34:41.226060
работа проги -
asdv
>>>sadv

работа проги - sadv
>>>dsfv
Tick! The time is: 2020-02-06 17:34:44.224231Execution of job ”tick (trigger: interval, next run at: 2020-02-06 17:34:47 +07)“ skipped: maximum number of running instances reached (1)
работа проги -

dsfv
>>>dsfvdfvd
Tick! The time is: 2020-02-06 17:34:56.889956Execution of job ”tick (trigger: interval, next run at: 2020-02-06 17:34:59 +07)“ skipped: maximum number of running instances reached (1)
работа проги -

dsfvdfvd
>>>dsfvfdz

работа проги - dsfvfdz
>>>dsafvdf
Run time of job ”tick (trigger: interval, next run at: 2020-02-06 17:35:02 +07)“ was missed by 0:00:01.321964
работа проги -
Execution of job ”tick (trigger: interval, next run at: 2020-02-06 17:35:14 +07)" skipped: maximum number of running instances reached (1)dsafvdf

>>>

Отредактировано ivin (Фев. 6, 2020 12:36:50)

Офлайн

#5 Фев. 6, 2020 13:30:50

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

помогите с "фонофым" потоком или процессом или еще как это называется..

 RESTART: C:\Google Диск\Кодинг\Проба пера\Многопоточность\cheduler_proba.py 
хмм а это откудова?



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#6 Фев. 6, 2020 15:38:24

ivin
Зарегистрирован: 2020-01-23
Сообщения: 20
Репутация: +  1  -
Профиль   Отправить e-mail  

помогите с "фонофым" потоком или процессом или еще как это называется..

это просто путь где лежит код
RESTART: C:\Google Диск\Кодинг\Проба пера\Многопоточность\cheduler_proba.py

Отредактировано ivin (Фев. 6, 2020 15:40:16)

Офлайн

#7 Фев. 6, 2020 15:47:36

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

помогите с "фонофым" потоком или процессом или еще как это называется..

ivin
это просто путь где лежит код
это я понимаю, но что он делает в выводе консоли пайтона? В вашем коде нет ни одной строчки которая бы выводила подобное сообщение. Следовательно код который вы привели на форуме и код вывод которого вы привели отличаются. а ошибка у вас простая: предыдущая таска не завершилась.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 6, 2020 15:48:29)

Офлайн

#8 Фев. 6, 2020 16:12:12

ivin
Зарегистрирован: 2020-01-23
Сообщения: 20
Репутация: +  1  -
Профиль   Отправить e-mail  

помогите с "фонофым" потоком или процессом или еще как это называется..

эта строчка (полное имя запускаемого файла)выводится всегда при запуске кода из IDLE Python 3.6

PEHDOM
предыдущая таска не завершилась.
и как сделать чебы завершалось? код -стандартный пример

Офлайн

#9 Фев. 6, 2020 17:07:28

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

помогите с "фонофым" потоком или процессом или еще как это называется..

ivin
эта строчка (полное имя запускаемого файла)выводится всегда при запуске кода из IDLE Python 3.6
первым дело запустите код без IDLE, из консоли :
python D:\путь\к\файлу\файл.py
есть подозрение что это IDLE виноват.
если не поможет то нужно копать глубже. Для этого нужно понимать что таки происходит внутрях вашего шедулера, что мешает таске отработать.
Судя по всему проблема у вас локальная, потому как у меня за 24 часа работы вышеприведенного кода, такое ни разу не выскочило.

Можно включить логирование чтобы посмотреть что там в шедулере происходит:
https://apscheduler.readthedocs.io/en/latest/userguide.html#troubleshooting

или просматривать события шедулера на предмет таска завершилась или упала.
https://apscheduler.readthedocs.io/en/latest/userguide.html#scheduler-events

можно поднять макс колличество инстансов,
https://apscheduler.readthedocs.io/en/latest/userguide.html#missed-job-executions-and-coalescing

В кокнце концов уельичить время с 3-х секунд до 10 и посмотреть что будет.

ЗЫ IDLE никто не пользуется, разве что вы на марсе окажетесь и ничего кроме IDLE больше у вас не будет.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 6, 2020 17:16:29)

Офлайн

#10 Фев. 7, 2020 05:31:35

ivin
Зарегистрирован: 2020-01-23
Сообщения: 20
Репутация: +  1  -
Профиль   Отправить e-mail  

помогите с "фонофым" потоком или процессом или еще как это называется..

PEHDOM
ЗЫ IDLE никто не пользуется
у меня нет времени и желания изучать проф редакторы, хотя PyCharm установлен конечно

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version