|
Просто трёп / АХТУНГ! Кто раздаёт приглашения в AREA-51? (читайте тут!)
|
|||
---|---|---|---|
#18+
Паддержу ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2023, 21:40 |
|
C++ / Создать документ Word в С++
|
|||
---|---|---|---|
#18+
Реализовал, получился легкий ппц... Не ожидал таких сложностей, но отступать уже было поздно. Правда Сматьего# делает тоже самое за несколько строчек. Но я никак не смог привыкнуть к коду шарпа, не ложится и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2023, 14:07 |
|
C++ / Создать документ Word в С++
|
|||
---|---|---|---|
#18+
Братцы, подскажите пожалуйста как в Visual Studio C++ создать документ Word или Exel и программно отредактировать его? Поделитесь кусочком кода? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2023, 12:12 |
|
Просто трёп / Уважаемые старые участники вернитесь назад
|
|||
---|---|---|---|
#18+
Знающие что форума нет, не узнают что он реинкарнировался :( ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2023, 06:05 |
|
PHP, Perl, Python / покритикуйте Пожалуйста скрипт
|
|||
---|---|---|---|
#18+
Создаем дерево кэша и генерируем случайное имя файла Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
(''')0___0(''') \ '( î_î )' / / \ \_0_/ / l . . l / /Y\ \ („„„)_(„„„) Превед ! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 19:06 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
vkle Отчасти странная функция. Есть же готовая https://www.php.net/manual/ru/function.tempnam для аналогичной цели. Впрочем, и в том и в другом случае дерево для кэша не создается . А значит, по мере наполнения файлами (единицы тысяч) "плоской" директории появятся тормоза. Чем больше файлов - тем заметнее. В ряде случаев кеш проще в базе хранить. Здесь как раз такой случай - им файла можно получить только лишь из базы, так почему бы сразу из базы не получить контент? Минус обращение к ФС получается. Впрочем, это вопрос другого толка, к данной теме отношения не имеет. Дошли руки до этого замечания. Не поделитесь ли примером, как дерево для кэша создавать? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2021, 18:42 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
Написал источнику API данных, они признали проблему на их стороне, поправили. Теперь ошибки присутствуют иногда, но не в таком объеме. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2020, 20:40 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
Дописал загрузку через сокеты. Исходя из анализа логов, у источника API данных стоит какое-то ограничение, о котором мне не сказали, и после определенной частоты запросов сначала выдают 500, а если начинаю запрашивать далее то вообще перестают отвечать. Сейчас попробую поиграть с ожиданиями типа sleep и подобрать оптимальную частоту запросов посмотрю что будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2020, 07:04 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
vkle, Да уже разобрался, спасибо Код: php 1.
Вот так прекрасно разделяет и тело потом сохраняем в файл pdf сейчас научусь разбирать заголовок. Мне по сути из него нужен ответ 200 или иной, и размер контента, чтобы сравнить с сохраненным файлом. Вы очень мне помогли дав правильное направление. По крайней мере в сокетах четко работает таймаут и процент удачных загрузок выше, чем у курла. Теперь смогу замыкать это в бесконечные циклы и запрещать выход без скачивания файла. Останется только научиться еще сравнивать и сливать 2 JSON файла, чтобы в битрикс отдавать не всю "портянку" данных, а только новые данные и у меня одна часть будет сделана, можно будет в битриксе настроить бизнес процессы в зависимости от того, какие данные получены. Спасибо большое за поддержку. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2020, 05:27 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
Стоило задать вопрос, сразу пришел ответ Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Все успешно выбрасывает в браузер. Теперь надо понять где начало и конец и как выделить именно PDF файл из ответа. Я думаю что действительно через сокеты будет надежнее качать чем курлом ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 18:29 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
vkle, Очень интересно оказалось про сокеты. Страницы открывать научился через SSL, но вот PDF скачивать не получается Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
Вот скрипт, дает вот такой ответ авторGET /docs/pustoy-fayl-pdf-5-5d1eee323ff31-5d43c64a48619.pdf HTTP/1.1 Host: torta-torta.ru Connection: Close HTTP/1.1 400 Bad Request Date: Tue, 29 Dec 2020 13:59:32 GMT Server: Apache/2.4.29 (Ubuntu) Content-Length: 312 Connection: close Content-Type: text/html; charset=iso-8859-1 Bad Request Your browser sent a request that this server could not understand. Apache/2.4.29 (Ubuntu) Server at www.codestudio.site Port 443 Что не так? Почему файл "забрать" не могу? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 17:01 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
peter64, авторпопробуйте в начало скрипта вставить error_reporting(E_ALL) и посмотрите результат; Была похожая проблема с IIS. При обработке exсel файлов вылетал скрипт. У IIS было ограничение по времени работы скрипта. Спасибо, вставил авторБурыйТина, https://stackoverflow.com/questions/31472800/connection-timed-out-after-10000-milliseconds-in-curl-and-php-geocoder Рекомедуют : curl_setopt($curl, CURLOPT_TIMEOUT,0); Это не буду, так как после таймаута, должны делать запрос повторно, источник данных не всегда отвечает. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 16:31 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
peter64, Не знаю, он облачный ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 11:46 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
Я наигрался с попыткой хранения JSON ответов в БД, целый день пытался понять что я делаю не так, а потом узнал что моя версия MYSQL не позволяет хранить JSON. И когда очередь дошла до хранения PDF я как то не думал даже о его хранении в БД, а сделал хранение в ФС сразу. Тут у меня возникает еще одна проблема, иногда почему-то файл скачивается не полностью. В отчете отдан весь файл, судя по объему переданных данных, а по факту получаю "битый" pdf. Таких файлов около 10% получается. Про хранение в базе услышал, а пока писал возникла мысль, может эти файлы разнести как-то по директориям? Получать общее количество файлов в директории и создавать следующую? Вы это имели ввиду когда писали дерево для кэша? Я только со второго прочтения понял. Я бы не хотел базу файлами забивать или это совсем не страшно? Про https://www.php.net/manual/ru/function.tempnam не знал, поэтому "слепил" странную функцию. За сокеты спасибо, читаю, очень интересная тема оказалась. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 05:28 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
vkle, Спасибо за ответ! Я не имею опыта программирования и не имею соответствующего образования. Решаю прикладную задачу под себя лично. теперь по деталям начнем с простого Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9.
Что касаемо таблицы, то это кэш своеобразный, чтобы 2 раза не скачивать одно и тоже По последнему авторА какие способы Вы уже пробовали за более чем десять дней? Задали вопрос техподдержке. Они не увидели проблему на реальном скрипте. Понятно. И всё? Сделал все что смог, на что хватает знаний и образования. Всячески изучил курл, много нового узнал, поигрался с таймаутами, ожиданиями и т.д. Понял что никак сам не справлюсь и пришел сюда, узнал новое слово "сокеты" пошел гуглить что это и говнокодить. Что умею ... Спасибо что помогаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2020, 21:47 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
Вот код целиком Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72.
В логе всегда все заканчивается одинаково curl_info.log 2020-12-28 19:29:52 *****************ПОПЫТКА СКАЧАТЬ ФАЙЛ*************** Адрес для скачивания https://pdf 2020-12-28 19:29:52 Файл не загружался ранее 2020-12-28 19:29:52 *****************ПОПЫТКА СКАЧАТЬ ФАЙЛ*************** И после этого тишина. До этого может быть скачано несколько файлов успешно, а может и вообще ничего не скачать. Как с этим бороться? ЗЗы время отключки скрипта всегда разное, техподдержка таймвеба не видит ничего, что бы прибивало скрипт ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2020, 19:37 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
Крашится curl_exec из этого цикла и записи из этого цикла, более внешнего цикла нет. Дата меняется от выполнения curl_exec. Много раз все отрабатывается хорошо и дает нужный результат, но после 40-50 вызовов происходит краш. Пока писал, возникла мысль, может тот кто дает мне API считает что я слишком часто запросы делаю и тупо блочит меня? При этом не говоря это? Надо попробовать паузу поставить между запросами. Только вот не понимаю почему он не ждет 60 секунд, как в опциях написано? Может сразу ошибку получает? Но какую? как ее поймать и отработать? Проблема возникает когда не отвечает API Код прописать не могу, так как для чистоты эксперимента придется открывать АПИ источник и ключ. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2020, 16:03 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
Продолжение ЛогФайл вернул ошибку: Connection timed out after 60000 milliseconds2020-12-20 11:28:45 зашли в обработку ошибки или пустого значения 2020-12-20 11:28:45 Запрос: http://ХХХХ вернул ошибку: Connection timed out after 60000 milliseconds2020-12-20 11:28:45 зашли в обработку ошибки или пустого значения 2020-12-20 11:28:45 Запрос: http://ХХХХ вернул ошибку: Connection timed out after 60000 milliseconds2020-12-20 11:28:45 зашли в обработку ошибки или пустого значения 2020-12-20 11:28:45 Запрос: http://ХХХ вернул ошибку: Connection timed out after 60000 milliseconds2020-12-20 11:28:45 зашли в обработку ошибки или пустого значения 2020-12-20 11:28:45 Запрос: http://ХХХХ вернул ошибку: Connection timed out after 60000 milliseconds2020-12-20 11:28:45 зашли в обработку ошибки или пустого значения 2020-12-20 11:28:45 Запрос: http:ХХХХ вернул ошибку: Connection timed out after 60000 milliseconds2020-12-20 11:28:45 зашли в обработку ошибки или пустого значения 2020-12-20 11:28:45 Запрос: http://ХХХ вернул ошибку: Connection timed out after 60000 milliseconds2020-12-20 11:28:45 зашли в обработку ошибки или пустого значения 2020-12-20 11:28:45 Запрос: http://ХХХХ И так 2 Гигабайта По логу видно что он не ждет 60 секунд. Что это может значить? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2020, 12:03 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
ИТОГО: Отсутствие ответа обработать в данной ситуации невозможно, а исправлять ситуацию долго и дорого. Надо смириться. Так? ЗЫ автор- Процесс принудительно завершает (или убивает - от слова kill) ядро ОС (или другие "силовые структуры" сервера), обнаружив превышение норм потребления - по памяти, по ресурсам CPU или по каким-то еще признакам/свойствам/ограничениям. Это тщательно и неоднократно проверялось. Нет превышений и "силовые структуры" тут не причем. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2020, 10:38 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
Вот так выглядит кусок кода Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
В логах последняя запись лог2020-12-20 08:54:01 делан запрос: http:ХХХХХ После этого тишина. Всю голову уже сломал, что я не предусмотрел? Не отвечает curl_exec? Как это отловить и обработать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2020, 09:13 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
vkle, поддержкаЗдравствуйте. К сожалению, на текущий момент в логе не наблюдаем проблем которые могут привести превышению каких-либо лимитов и принудительному завершению скрипта. поддержкаmax_execution_time, его значение равно 800 секунд. отключение скрипта происходит гораздо раньше. Установка бесконечного времени на выполнение скрипта, тоже не дает эффекта. Зато утром в логах я увидел что Код: php 1.
все же работает и повторяет запросы при пустом ответе и если возвращается ошибка. Может на этом решится проблема? Буду смотреть. Я так понимаю что все события предусмотрены вышеприведенным кодом, за исключением того, что закончился лимит времени на выполнение ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2020, 06:37 |
|
PHP, Perl, Python / PHP & Excel
|
|||
---|---|---|---|
#18+
vkle, После Вашего сообщения тему можно было закрыть, я не знал что так можно. Я не разработчик, но пришлось разбираться. Вы помогли. Спасибо за ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2020, 06:30 |
|
PHP, Perl, Python / Скрипт умирает не отработав
|
|||
---|---|---|---|
#18+
Итак, новые вводные. Умирает на curl_exec хотя далеко не всегда. Видимо что-то не получается с каким-то очередным запросом. Подскажите пожалуйста как отследить и отработать ошибку? curl_error пользы не приносит, ибо если скрип умирает, то он никуда больше не идет. while(($data = curl_exec($ch)) === false or $data == '' ) такая конструкция у меня пытается заставить отработать запросы, но внутрь while не попадает обработчик. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2020, 22:50 |
|
|
Start [/forum/search_topic.php?do_search=1&author=%D0%91%D1%83%D1%80%D1%8B%D0%B9%D0%A2%D0%B8%D0%BD%D0%B0&author_mode=last_posts]: |
0ms |
get settings: |
1ms |
get forum list: |
6ms |
get settings: |
0ms |
get forum list: |
6ms |
searching: |
304ms |
get settings: |
0ms |
get forum list: |
8ms |
get found posts: |
90ms |
track hit: |
22ms |
get online users: |
26ms |
check new: |
1ms |
others: | 637ms |
total: | 1101ms |
0 / 0 |