2014-10-28 26 views
16

Kullanıcıların kendi verilerini yüklemelerine ve birkaç görev yapmasına olanak tanıyan parlak bir uygulamam var. Veri boyutlarına ve gerçekleştirmek istedikleri görev türlerine bağlı olarak, bazen süreç uzun sürer ve hatta sonsuza dek sürmektedir. Kullanıcıların üzerine tıklayabileceği "dur" işlevini eklemek istiyorum ve mevcut görev duracak ve bazı diğer görevlere devam edebiliyor. Nasıl yapmalıyım?R parlak: Kullanıcıların işlemi durdurmalarına nasıl izin verilir? Ve uygulamayı arka uçtan nasıl durdurulur?

İkinci sorum, ilki ile ilgilidir. Uygulamamdaki kullanıcılardan birinin çok ağır bir işlem yürüttüğünü ve CPU'm yoğun bir şekilde meşgul olduğunu, ancak kullanıcının kendisinin durdurma sinyalini başlatmamış olduğunu varsayalım. Bir "zaman aşımı" komutu empoze etmek istiyorum, böylece uygulama 5 dakika sonra otomatik olarak sonlanacak. Nasıl kurabilirim?

çok teşekkür ve saygılarımla,

bulutlu

+0

Bunu nasıl yapacağımı bilmek isterim. Durdur düğmesine bağlı bir işlemde "pkill foo" yapan bir sistem komutu uyguladı, ancak işe yaramadı: Web sitesi yanıt vermiyor ... – 719016

cevap

1

bir "İptal" etiketin bulunduğu bir işlem düğmesi yaratacak ama, tıklandığında yeni bir sayfaya yönlendirir. o zamanlayıcı başlar tıklandığında CPU durdurma sınırına gelince

actionButton("button", "Cancel Operation") 

, o eylem düğmesi için bir zamanlayıcı oluşturup olacaktır. Sonra koşullu bir ifadenin (zaman sınırı) geçip geçmediğini test edin, yeni bir sayfaya yönlendirin.

0

Maalesef, maalesef bir yanıt varmış gibi görünmüyor. Joe diyor

https://groups.google.com/forum/#!topic/shiny-discuss/j9-NeG9v5ds

"Bu şu anda mümkün değil, ama şimdi belki bu kez biz yaptık uygulamak için bir yol düşünebiliriz oysa sana söyleseydin bunu geçen hafta, olası asla bizim httpuv değişikliklerin bir sonraki turu olsa da vaatler yok ve bu arada herhangi bir geçici çözüm düşünemiyorum. "

Kısacası, hayır.