Jelajahi Sumber

[music] Fix slskd timeouts, remove unhandled hook calls

Innokentiy Enikeev 4 tahun lalu
induk
melakukan
9028ef3cb4
1 mengubah file dengan 9 tambahan dan 7 penghapusan
  1. 9 7
      plugins/music.lisp

+ 9 - 7
plugins/music.lisp

@@ -24,7 +24,9 @@
   (multiple-value-bind (body status headers uri)
       (handler-bind
           ((sb-int:broken-pipe #'(lambda (c) (declare (ignorable c))
-                                   (invoke-restart (find-restart 'dexador:retry-request)))))
+                                   (invoke-restart (find-restart 'dexador:retry-request))))
+           (sb-sys:io-timeout #'(lambda (c) (declare (ignorable c))
+                                  (invoke-restart (find-restart 'dexador:retry-request)))))
         (apply #'http-request url :headers headers args))
     (unless (stringp body)
       (setf body (trivial-utf-8:utf-8-bytes-to-string body)))
@@ -295,9 +297,9 @@
     (loop for (ih . name) in (deluge-get-seeding-torrents)
           do (handler-case (process-downloaded-torrent ih)
                (error (c) (log:error "Error processing torrent" name c))))
-    (loop for dir in (slskd-get-download-directories)
-          do (handler-case (slskd-process-download-dir dir)
-               (error (c) (log:error "Error processing slskd" c))))
+    (handler-case (loop for dir in (slskd-get-download-directories)
+                        do (slskd-process-download-dir dir))
+      (error (c) (log:error "Error processing slskd" c)))
     (sleep 1)))
 
 (defvar *watcher* nil "Importer thread ")
@@ -360,9 +362,9 @@
                  (member *chat-id* (lists-get :music-admins)))
         (case (keyify action)
           (:magnet (let ((url (agets *data* "url")))
-                     (if (magnetp url)
-                         (progn (handle-add-torrent url) "OK")
-                         "Bad magnet"))))))))
+                     (when (magnetp url)
+                       (handle-add-torrent url)))))))))
+
 
 (def-message-cmd-handler handle-cmd-music (:music :m)
   (with-chat-in-list :music-admins