|
|
|
Lazarus SQL многопоточность INSERT
|
|||
|---|---|---|---|
|
#18+
Moneo, с сетевым протоколом не работал, деталей реализации подсказать не смогу. По коду: вот это Код: pascal 1. я бы завернул в Queue(PostMessage) или Synchronize(SendMessage). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2019, 21:27 |
|
||
|
Lazarus SQL многопоточность INSERT
|
|||
|---|---|---|---|
|
#18+
Moneo Код: pascal 1. 2. 3. 4. Зачем из потока показываете диалоговое окно?! Ошибки выводите в лог к примеру. Ну и заворачивайте использование экземпляров в блоки try-finally. Иначе при ошибках будут утечки памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2019, 08:51 |
|
||
|
Lazarus SQL многопоточность INSERT
|
|||
|---|---|---|---|
|
#18+
Это все конечно хорошо, спасибо за советы, но может кто-то знает как в данном случае реализовать очередь потоков с пост запросами? Я ставлю 5 потоков по 30 раз с задержкой в 2 секунды между ними - тогда все отрабатывается на ура, но я хочу сделать это все как надо реализовав очередь и убрав не нужные простои в 2 секунды, но не знаю как. Кто подскажет? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2019, 10:29 |
|
||
|
Lazarus SQL многопоточность INSERT
|
|||
|---|---|---|---|
|
#18+
Как только встречаются большие файлы я даже с таким количеством потоков и задержкой получаю ошибки, на один файл приходится до 8мб, но мое предположение состоит в том, что несколько потоков забивают сетевой канал и следующий пост запрос в потоке уже не может получить код страницы, так как канал сетевой забит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2019, 10:49 |
|
||
|
Lazarus SQL многопоточность INSERT
|
|||
|---|---|---|---|
|
#18+
Moneo, забитый канал скорее приведет к ошибкам таймаута, а не просто пустой странице. сам сервер при нагрузке может тупить и возвращать что то не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2019, 11:13 |
|
||
|
Lazarus SQL многопоточность INSERT
|
|||
|---|---|---|---|
|
#18+
MoneoКто подскажет? В главном потоке любые циклы с задержкой будут приводить к "подвисаниям" UI, что воспринимается, как фризы и лаги. Отсюда не видно, по каким критериям ты контроллируешь, что ты успел выкачать на клиента удачно, а что - нет. В твоем случае я бы схематично сделал цикл внутри Execute доп.потока как-нибудь так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Повторюсь, я с синапсом никогда не работал, поэтому ничего дельного посоветовать не могу. Попробуй глянуть еще тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2019, 17:48 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2039558]: |
0ms |
get settings: |
10ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
6ms |
get first new msg: |
3ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 324ms |

| 0 / 0 |
