none
(Sumber: milist DOTNET) Help design web project for canceling long running task RRS feed

  • Pertanyaan

  • Rekans,
    ane lagi ada problem neh. Salah satu web app yg ada di website ane membutuhkan long running process/task yg bisa di "abort" klo user merasa prosesnya terlalu lama.
    Anehnya, ketika user refresh browser dan masuk ke menu utk manggil web app yg sedang running sebelumnya, layar jadi blank warna putih. Web app nya di show via frame. Web utama hanya sebagai navigasi saja.
    Dan ane udah coba tembak url langsung, beneran web nya seakan hang.
     
    w3wp.exe nya seakan standby/idle. perubahan memory kecil (gak spt biasanya frekuensi naik/turun memory nya significant).
    ane udah coba recycle pool nya (custom pool), w3wp nya nambah 1 lagi tapi tetap tampilannya masih blank. halaman default.aspx nya gak ke panggil.
    sptnya masih nunggu proses sebelumnya selesai dulu.
    jumlah worker di set 1 saja utk memanfaatkan caching.
     
    asumsi saya dibiarin aja dulu, tapi udah 1 harian besoknya masih sama. memang query nya agak lama, it tooks 5-10 to complete (distribution query). skrg DBA nya lagi coba tuning n the problem is klo di coba view via website n masih terasa lama, trus di refresh, n the blankness is happen.
     
    ada saran/ide gak utk otomatis kill process yg lama ini? termasuk misalnya user logout, maka otomatis session,pending process,dll yg masih ada di web app lain jg ikut terminate.
    ane pakai asp.net, .net 3.5, iis 2003.
     
    thx gan.

     


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Jumat, 09 Desember 2011 09.11
    Moderator

Jawaban

  • Tips gw, kalau blm ngerti2 banget, mending pakai cara aman: messaging/queueing.

     

    Ketika user minta run process, tulis request ke persistent storage.

     

    Di luar web app, buat console app yang dipanggil secara berkala.

    Console app ini tugasnya ngecek persistent storage, ada task yang pending ngga? Kalau ada, jalanin tasknya.

     

    Proses di atas gw jamin jalan dengan lancar.

     

    Kalau ini sudah jalan, baru mulai upgrade satu2, misalnya:

    - UI polling setiap beberapa detik ke persistent storage, apakah tasknya sudah selesai.

    - pakai MSMQ/AWS SQS/etc dibanding persistent storage

    - pakai Windows Service supaya task bisa jalan seinstan mungkin

     

    Dijawab oleh: Adrian Godong

     

     


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Jumat, 09 Desember 2011 09.12
    Moderator