Applescript - Erinnerungen - unerträglich langsam


2

Ich wollte ein Skript schreiben, um Erinnerungen um eine Stunde zurückzuschieben. Das habe ich mir ausgedacht:

tell application "Reminders"
    launch
    set c to current date
    set newtime to c + 3600
    set the remind me date of every reminder where completed is false and remind me date < c to newtime
end tell

Das Skript ist nicht sehr schnell, wenn es über den Skript-Editor ausgeführt wird (dauert einige Sekunden), aber wenn es über das Skript-Menü ausgeführt wird, kann es buchstäblich mehrere zehn Minuten dauern.

Wissen Sie, warum es so langsam ist?

Ein Blick darauf führte mich zu der SQLite-Datenbank, die Erinnerungsinformationen enthält.

~/Library/Application\ Support/NotificationCenter/(meaningless name).db

Es scheint jede Erinnerung zu akkumulieren, die jemals hinzugefügt wurde ... sogar Dinge wie das Lied, das am 22. Januar 2015 um 16:31 Uhr abgespielt wurde. Wenn Applescript alle Einträge durchlaufen muss, um diejenigen zu finden, die den Parametern entsprechen, könnte dies erklären, warum dies so ist langsam - aber es erklärt nicht, warum es so viel langsamer ist, wenn es über das Skriptmenü ausgeführt wird.

Ich frage mich, ob die einfachste Möglichkeit, Erinnerungen zu pushen, darin besteht, die SQLite-Datenbank nicht zu manipulieren. Gedanken?


Ich habe keine Antwort für Sie, aber ich habe auch einen erheblichen Zeitunterschied zwischen der Ausführung direkt im AppleScript-Editor und dem Skript-Menü in der Menüleiste für einige Skripte festgestellt. Ich habe im Moment kein Beispiel, wollte aber nur bestätigen, dass es einen erheblichen Zeitunterschied geben kann. Ich werde jedoch hinzufügen, dass dies in all den Jahren, in denen ich AppleScript verwendet habe, nur ein paar Mal vorgekommen ist und ich derzeit über 30 Skripte im Menü habe, die ich regelmäßig verwende. Die Skripte in meiner Menüleiste werden als Anwendungen gespeichert, daher würde ich nur einen kleinen Unterschied erwarten, aber nicht in Minuten.
user3439894

Es ist ein Problem mit osascriptMacOS 10.13.4 aufgetreten, jedoch nur mit einem MacBook Pro, nicht mit dem Mac Mini derselben Betriebssystemversion. In meinem Fall tell application "System Events"dauert die Ausführung GENAU zwei Minuten. Ich untersuche immer noch die Ursache. Lassen Sie die Festplattenreparatur erfolglos ausführen.
Tresf
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.