|
|
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
Добрый день всем! Такая ситуация: нужно чтобы в фрейме вызывался метод, который работает в многопоточном режиме, но с таким условием, что фрейм можно было закрыть и выполнять другие операции(типа открыть какой-то другой фрейм, перейти на другую страницу), а метод продолжал выполняться! Возможно ли это? Пробовал разные варианты, но фрейм всегда "ждёт" выполнения метода до конца, а потом только закрывается(также наступает Page_Unload только после завершения выполнения метода). Заказчику нужно, чтоб он открыл окошко, нажал кнопочку "разослать всем" и закрыл сразу окно, а рассылка происходила в фоновом режиме. Посоветуйте что-нибудь , пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 15:07:36 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
vlad_nauЗаказчику нужно, чтоб он открыл окошко, нажал кнопочку "разослать всем" и закрыл сразу окно, а рассылка происходила в фоновом режиме. Посоветуйте что-нибудь , пожалуйста! Можно при нажатии только отметить в базе, что нужно разослать. А саму рассылку реализовать через job в базе или сервис на веб сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 15:57:59 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
Starlex, это нужно периодически выполнять запросы к бд, правильно? то есть запустить таймер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 16:19:09 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
vlad_nauStarlex, это нужно периодически выполнять запросы к бд, правильно? то есть запустить таймер? да, job можно и таймером назвать при желании. Или периодичный опрос можно сделать в сервисе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 18:09:59 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
vlad_nau, На аспнет глупо писать спам-боты, он не для того предназначен. Напишите на винформс или любое (не вэб) приложение на любом языке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 18:26:24 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
ShSerge, создать новый треад и запустить все что нада в нем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 18:36:29 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
няка, тьфуты, для vlad_nau естесно предыдущий мой пост ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 18:37:10 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
някаShSerge, создать новый треад и запустить все что нада в нем? Ага, а через 3 дня заказчик посмотрит на нагрузку и захочет делать рассылку не сразу, а ночью. И будете всё переделывать. Нужно рассылку делать отдельным приложением, чтобы можно было настраивать когда - через минуту или в определенное время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 18:51:37 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
ShSerge а что мешает в пуле с приложением делать фоновые процессы? А винформс предназначены?) автору да юзайте да потоки с таймером или вариант есть библа готовая ..шулдер менеджер...портированая с явы. название не помню..но вот с ней приятно работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 18:52:09 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
brainproof, В вэбформс вы не получите доступа к своему тхреаду. Даже не определите делает он что-то или просто завис. А в винформс сможете его, например, остановить и продолжить, и отслеживать прогрессом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 19:08:00 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
Parallel, PLinq, Task? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 19:16:32 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
ShSerge уверены? --А в винформс сможете его, например, остановить и продолжить, и отслеживать прогрессом. тоже самое я могу сделать и в асп нет..уже делал. ява, хендлеры и наблюдатели творят чудеса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 19:21:40 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
Я тоже делал. Только ваш ход - расскажите в двух словах как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 19:44:51 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
МСУParallel, PLinq, Task? Вы механизм опишите. Словами, так сказать. ПС. Учтите, вопрос про вэб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 19:46:51 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
при нажатии кнопки создаю новый поток, который в свою очередь создаёт ещё 5 потоков и рассылает спам) наверное, не самый лучший вариант, но самый простой с точки реализации. Всем большое спасибо за советы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 19:52:15 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
через яву обращаемся к хендлеру вызывающий наблюдатателя о состояние фоновой задачи. В итоге хендлер возвращает прогресс на клиента. Также через хендлер и тот же наблюдатель(можно ему делигировать функции хотя не совсем гуд идея) или напрямую таск менеджеру фоновому, мы можем прервать процесс или остановить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 19:57:18 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
забыл сказать клиент переодический опрашивает сервер о состояние процесса..хотя это думаю очевидно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 19:58:49 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
эх по хорошему бы показать бы вам это в дело в действие но я не могу дать доступ в админку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 20:05:32 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
brainproof, Да, именно так и делается. Через одно место, то есть. Надеюсь, Вы предусмотрели вариант, когда много-много пользователей эту операцию делают одновременно? ПС. Не называйте никогда яваскрипт явой. Слух режет. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 20:23:03 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
---когда много-много пользователей эту операцию делают одновременно? патерн синглетон ...кучу потоков делать каждому смысла нет да с яваскрипт пардон. чертов лень писать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 20:35:10 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
про много людей тут скользкая тема...все зависит от ресурсов еще железки. тут можно придумать всегда что нибудь это не проблема. Мне пришлось ограничивать так как веб приложение запускалось под шарехостинг, + делать ограничение одновременно используемых потоков. иначе просто вырубают за превыщение лимата испольуземых ресурсов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 20:39:00 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
Под "много пользователей" я имел ввиду то, что у каждого пользователя свои данные. То есть, в данном случае, свой список рассылки и свои сообщения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 21:17:28 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
ShSergeПод "много пользователей" я имел ввиду то, что у каждого пользователя свои данные. То есть, в данном случае, свой список рассылки и свои сообщения. ммм понятно. Решение все равно есть и если надо это можно учесть если это идет как требование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 21:33:51 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
база чья - sql server? если версии от 2005, то по кнопке вызываете процедуру или запросом вкидываете в очередь брокеру задание, и получаете тут же возврат управления в код, а брокер будет обрабатывать. Отправлять будет тот, кто обрабатывает очередь, т.е. или t-sql процедура, или же совсем умное скажем шарповое внешнее приложение, имеющее доступ к базе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2012, 21:40:22 |
|
||
|
выполнение метода в фоновом режиме
|
|||
|---|---|---|---|
|
#18+
ShSergeМСУParallel, PLinq, Task? Вы механизм опишите. Словами, так сказать. ПС. Учтите, вопрос про вэб. Без разницы, веб или не веб. Механизм проще пареной репы - отдать задачу на параллельное выполнение отдельному потоку. С помощью паралеллей это делает оптимальней по производительности, нежели ручное ковыряние в тредпулах с выделением нити. А если с клиента, то еще проще: $.ajax (async=true), отработку метода ловим в колбэке. Что может быть сложнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2012, 08:56:05 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37637275&tid=1360012]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 426ms |

| 0 / 0 |
