1b.app
Скопійоване посилання -

Перестав працювати хвилинний крон

Тут https://baza.cn.ua/admin/shop/statistic/
Хвилинний крон відпрацьовував весь час за 1 хвилину, а тут завмер у 2021-01-25 18:22:13
Вже пройшло більше 25 хвилин і він не працює
1. Прошу вирішити проблему
2. Пояснити, чому це сталося
Оригінальне питання доступне на версії: ru

Відповіді:

Це відбувається коли зовнішні послуги з'єднання не розривають, але дані перестають віддавати.
Ось процес (крон) з'єднаний із зовнішнім сервером та з'єднання в стані "Встановлено" ESTABLISHED
php 19222 bazacnua 9u IPv4 166670705 0t0 TCP none:47926->ec2-52-214-51-78.eu-west-1.compute.amazonaws.com:https (ESTABLISHED)
Але дані не передаються
clock_gettime(CLOCK_MONOTONIC, {tv_sec=5450225, tv_nsec=785639629}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=5450225, tv_nsec=785759689}) = 0
poll([{fd=9, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
clock_gettime(CLOCK_MONOTONIC, {tv_sec=5450225, tv_nsec=786256316}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=5450225, tv_nsec=786320364}) = 0
poll([{fd=9, events=POLLIN}], 1, 1000) = 0 (Timeout)
clock_gettime(CLOCK_MONOTONIC, {tv_sec=5450226, tv_nsec=787662606}) = 0
poll([{fd=9, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
clock_gettime(CLOCK_MONOTONIC, {tv_sec=5450226, tv_nsec=788096833}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=5450226, tv_nsec=788179420}) = 0
poll([{fd=9, events=POLLIN}], 1, 1000) = 0 (Timeout)
clock_gettime(CLOCK_MONOTONIC, {tv_sec=5450227, tv_nsec=789450028}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=5450227, tv_nsec=789555074}) = 0
poll([{fd=9, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
26.01.2021, 01:29
Оригінальний коментар доступний на версії: ru

Куприян Владислав Валерьевич
Baza.cn.ua / Integrator (FOP Kupriyan)
Ок, причину по суті знайшли тепер лишилося розібратися:
1. Хто в цьому винен (можете дати детальний приклад, а то це "eu-west-1.compute.amazonaws.com" мені не дає жодної інформації, хочу розібратися це хостер або якийсь маркетплейс, скажіть хоча б який це процес в діях на хвилинному кроні, припускаю що це "rozetka_auto_action_import_orders" тому що рівно в той час коли 19:22 надійшло з розетки замовлення і все "зупинилося") ?
2. Як можна зробити так що б подібні зовнішні речі не ламали роботу хвилинних дій?
26.01.2021, 10:59
Оригінальний коментар доступний на версії: ru

1. Все, що нам відомо – це зовнішня інтеграція. Все, що настроєно в системі, налаштоване Вами.
У яких ДЦ і за допомогою чого компанії, будують свою IT інфраструктуру нам не відомо і знати нема чого.
Ми займаємось нашим продуктом.
2. Якщо не використовувати інтеграцію із зовнішніми сервісами, то й ламатися з цих причин не буде.
Але суть якраз у тому, що ми говоримо про роботу (замовлення прийшло з "Розетки") із зовнішнім ресурсом.
Працюючи із зовнішнім ресурсом, ми працюємо з програмним продуктом, який створений та підтримується
людьми і там також можливі як технічні проблеми (велике навантаження на ресурс, сервери, мережі....),
так і людський фактор (помилки, що виявляються при збігу певних факторів).
Тому готового рішення у нас немає і сумніваюся, що хтось має.
26.01.2021, 15:14
Оригінальний коментар доступний на версії: ru

Куприян Владислав Валерьевич
Baza.cn.ua / Integrator (FOP Kupriyan)

Тасун Сергій Володимирович
Співробітник писав/ла:
1. Все, що нам відомо – це зовнішня інтеграція. Все, що настроєно в системі, налаштоване Вами.
У яких ДЦ і за допомогою чого компанії, будують свою IT інфраструктуру нам не відомо і знати нема чого.
Ми займаємось нашим продуктом.

Ви якось дуже сильно узагальнюєте проблему, відчувається небажання розбиратися в ній, я розумію ваш біль, але будь ласка дайте більше конкретики, щоб я розумів з яким зовнішнім ресурсом проблема і до кого звертатися щоб подібних проблем не виникало в майбутньому, можете допомогти ?

Тасун Сергій Володимирович
Співробітник писав/ла:
2. Якщо не використовувати інтеграцію із зовнішніми сервісами, то й ламатися з цих причин не буде.
Але суть якраз у тому, що ми говоримо про роботу (замовлення прийшло з "Розетки") із зовнішнім ресурсом.
Працюючи із зовнішнім ресурсом, ми працюємо з програмним продуктом, який створений та підтримується
людьми і там також можливі як технічні проблеми (велике навантаження на ресурс, сервери, мережі....),
так і людський фактор (помилки, що виявляються при збігу певних факторів).
Тому готового рішення у нас немає і сумніваюся, що хтось має.

Дивна у Вас позиція "моя хата скраю"
Плюс, що то я не зрозумію логіки роботи вашої системи, мені здавалося що кожен "творець" коду, повинен потурбуватися що б його код продовжував робота при всіх винятках і варіантах, а у вашому випадку виходить хтось передав "корявий" xml або json відповідь ваш комбайн зупинився
Чи я зовсім не правильно зрозумів ситуацію, якщо так прошу перефразувати?
26.01.2021, 18:10
Оригінальний коментар доступний на версії: ru


Купріян Владислав Валерійович
Baza.cn.ua / Integrator (FOP Kupriyan) написав:
Ви дуже сильно узагальнюєте проблему, відчувається небажання розбиратися в ній, я розумію ваш біль

Я не узагальнюю проблеми, компанії завжди ховають IT інфраструктуру, щоб зменшити кількість
неприємних моментів для себе.
Ви попросили пояснити, чому це сталося, я вам показав,
що сталося та чому перестало працювати.
Але ви залишилися незадоволені і вже вимагаєте, щоб вам видали "винуватця", бо, цитую
"а то це "eu-west-1.compute.amazonaws.com" мені не дає жодної інформації, хочу розібратися..."
Хочете розібратися ви, але чомусь просите, щоб у цьому розібралися ми, дивний підхід, не знаходите?
Цей ресурс це api.privatbank.ua
І про біль - У нас нічого не болить, а якщо ви щось відчуваєте, то це Ваш біль.

Купріян Владислав Валерійович
Baza.cn.ua / Integrator (FOP Kupriyan) написав:
Дивна у Вас позиція "моя хата скраю"
Чи я зовсім не правильно зрозумів ситуацію, якщо так прошу перефразувати?

Ви зрозуміли, так само як ви зрозуміли.
Позиція у нас така, що в нашій системі є велика кількість інтеграцій із зовнішніми ресурсами, які
працюють згідно з документацією, наданою цими ресурсами.
І стежити за тим, наскільки коректно, в цю хвилину, працює API зовнішнього ресурсу
і чи взагалі доступний цей ресурс, ніяк не входить до зони відповідальності нашої компанії.
При офіційних змінах API зовнішнього ресурсу, ми вносимо зміни до нашого продукту.
27.01.2021, 01:15
Оригінальний коментар доступний на версії: ru

Куприян Владислав Валерьевич
Baza.cn.ua / Integrator (FOP Kupriyan)

Тасун Сергій Володимирович
Співробітник писав/ла:
Цей ресурс це api.privatbank.ua

Дякую

Тасун Сергій Володимирович
Співробітник писав/ла:
Ви зрозуміли, так само як ви зрозуміли.
Позиція у нас така, що в нашій системі є велика кількість інтеграцій із зовнішніми ресурсами, які
працюють згідно з документацією, наданою цими ресурсами.
І стежити за тим, наскільки коректно, в цю хвилину, працює API зовнішнього ресурсу
і чи взагалі доступний цей ресурс, ніяк не входить до зони відповідальності нашої компанії.
При офіційних змінах API зовнішнього ресурсу, ми вносимо зміни до нашого продукту.

Ок, можливо, ви мене не правильно зрозуміли, спробую абстрагуватися і навести приклад
Уявіть, що ваш продукт OneBox це сімейний лікар, у якого є план приймати пацієнтів.
Ось він повинен прийняти певну кількість пацієнтів за хвилину, годину, день
І ось вийдуть так що до лікаря прийшов якийсь нестандартний пацієнт (api.privatbank.ua) і почав йому розповідати і вимагати речі, які не зовсім відносяться до специфіки лікаря в результаті у лікаря "поїхав дах" і він пішов з робочого місця на пару годин .
В результаті, всі пацієнти не змогли вирішити свої питання (проблеми)
Так ось мені здається позиція лікаря в даному прикладі не дуже професійна, тому що він не повинен випадати з робочого процесу через нестандартного пацієнта, він просто повинен вигнати його або відправити кудись подалі і далі продовжити роботу над виконанням свого плану.
Якщо ви мене правильно зрозуміли, то хотілося б почути вашу думку та закрити завдання
27.01.2021, 16:12
Оригінальний коментар доступний на версії: ru

Пояснюю на прикладі.
Це пацієнт (api.privatbank.ua) приходить постійно і все з ним добре, звичайний пацієнт.
Але сьогодні він вирішив розповісти лікареві свою нову проблему, сімейний лікар повинен його послухати,
щоб зрозуміти, що сьогодні цей пацієнт став не стандартним і перенаправити пацієнта до іншого фахівця.
Ось тут і губляться ці кілька годин. (У житті до речі саме так все і відбувається... як приклад похід до зубного)
А тепер до нашої нагоди.
Логіка роботи така: ми стукаємось у сторонній сервіс, передаємо йому реєстраційні дані,
щоб сервіс знав хто прийшов і навіщо, сервіс дані приймає, аналізує і дає відповідь,
після чого з'єднання (двері) закриває.
Але в нашому випадку, сервіс з'єднання (двері) відчинив, всі дані прийняв, і пішов за відповіддю.... з'єднання (двері) не закрив.
Ось ми стоїмо і чекаємо, сподіваючись, що нам видадуть те, що ми просили.
Ви можете запитати "Навіщо ми так довго чекаємо", на це можу відповісти, що в документації до стороннього сервісу (API),
нічого не сказано про те, що така ситуація у принципі можлива.
І що якщо протягом такого часу відповіді немає, то чекати не потрібно.
Ось, власне, і все.
27.01.2021, 16:46
Оригінальний коментар доступний на версії: ru

Куприян Владислав Валерьевич
Baza.cn.ua / Integrator (FOP Kupriyan)

Тасун Сергій Володимирович
Співробітник писав/ла:
Пояснюю на прикладі.
Це пацієнт (api.privatbank.ua) приходить постійно і все з ним добре, звичайний пацієнт.
Але сьогодні він вирішив розповісти лікареві свою нову проблему, сімейний лікар повинен його послухати,
щоб зрозуміти, що сьогодні цей пацієнт став не стандартним і перенаправити пацієнта до іншого фахівця.
Ось тут і губляться ці кілька годин. (У житті до речі саме так все і відбувається... як приклад похід до зубного)
А тепер до нашої нагоди.
Логіка роботи така: ми стукаємось у сторонній сервіс, передаємо йому реєстраційні дані,
щоб сервіс знав хто прийшов і навіщо, сервіс дані приймає, аналізує і дає відповідь,
після чого з'єднання (двері) закриває.
Але в нашому випадку, сервіс з'єднання (двері) відчинив, всі дані прийняв, і пішов за відповіддю.... з'єднання (двері) не закрив.
Ось ми стоїмо і чекаємо, сподіваючись, що нам видадуть те, що ми просили.
Ви можете запитати "Навіщо ми так довго чекаємо", на це можу відповісти, що в документації до стороннього сервісу (API),
нічого не сказано про те, що така ситуація у принципі можлива.
І що якщо протягом такого часу відповіді немає, то чекати не потрібно.
Ось, власне, і все.

Дякуємо за детальну та зрозумілу відповідь!
Як на мене довге очікування це помилка (має бути якийсь тайм-аут), але судячи з вашої відповіді ви робите лояльно, при цьому дана лояльність шкодить іншим процесам, але тут питання логіки
27.01.2021, 20:59
Оригінальний коментар доступний на версії: ru

Будь ласка, приєднуйтесь до діалогу. Якщо вам є що сказати – будь ласка, напишіть коментар. Для входу потрібний мобільний телефон та смс-код для ідентифікації. Увійти та написати коментар