plötzlich Zeitüberschreitung im Applescript

Diskutiere das Thema plötzlich Zeitüberschreitung im Applescript im Forum Scripting und Automatisierung.

  1. roedert

    roedert Thread Starter Mitglied

    Beiträge:
    11.299
    Zustimmungen:
    2.485
    Mitglied seit:
    05.01.2011
    Diese kleine Script läuft auf dem Mac-Server (10.12.6) seit Monaten oder gar Jahren täglich um alle Kontakte in eine vif zu exportieren. Dient als Backup und ein weiteres Script füllt damit eine mysql-Datenbank für Asterisk und die Astra-Telefone.

    Code:
    set fileReference to open for access file "SSD1:export.daily:contacts.vcf" with write permission
    tell application "Contacts"
        write ((vcard of people) as text) to fileReference as «class utf8»
    end tell
    close access fileReference
    
    Doch plötzlich läuft es nicht mehr, nach ca 2 Minuten kommt dieser Fehler:

    Skriptfehler
    „Contacts“ hat einen Fehler erhalten: AppleEvent lieferte eine Zeitüberschreitung.

    Hat einer ne Idee wo man da ansetzen könnte?
     
  2. KOJOTE

    KOJOTE Mitglied

    Beiträge:
    4.974
    Medien:
    1
    Zustimmungen:
    972
    Mitglied seit:
    06.11.2004
    Ich habe keine Ahnung von Skriptsprache, also setze ich mal wo anders an:
    Könnte es sein, dass eine der zuletzt importierten Kontakte einen Fehler erzeugt und der Fehler daher nicht im Skript liegt, sonder an anderer Stelle zu suchen ist?

    Hintergrund: Ich hatte vor langer Zeit mal ein Problem mit der Kontakte.App, damals noch Adressbuch, mit einer importieren .vcf die als E-Mail-Anhang versendet wurde.

    Kleiner Nebeneffekt: Da du, lieber @roedert mit auch schon oft geholfen hast, schiebe ich dein Thema hiermit ein wenig an.
     
  3. roedert

    roedert Thread Starter Mitglied

    Beiträge:
    11.299
    Zustimmungen:
    2.485
    Mitglied seit:
    05.01.2011
    Darauf wird es hinauslaufen .... den letzten mir bekannten hinzugefügten Kontakt hatte ich schon gelöscht - ohne Erfolg. Oder es liegt einfach an der Menge der Kontakte (mittlerweile 370, der vcf-Export ist knapp 12 MB)

    - an anderem Mac getestet (aktuellstes macOS) mit gleichen iCloud-Kontakten -> Scriptfehler Zeitüberschreitung
    - neuen Benutzer angelegt, Kontakte mit dem einen Standardeintrag per Script exportiert -> fehlerfrei
    - vcf-Export importiert und per Script wieder exportiert -> Scriptfehler Zeitüberschreitung
    - geschätzte Hälfte der Kontakte gelöscht und erneut exportiert -> fehlerfrei

    Da jetzt den "schwarzen Peter" zu finden dürfte sehr aufwendig werden.
    Der manuelle Export aller Kontakte über Ablage - Exportieren - vCard exportieren funktioniert aber weiterhin problemlos.

    Danke :D
     
  4. KOJOTE

    KOJOTE Mitglied

    Beiträge:
    4.974
    Medien:
    1
    Zustimmungen:
    972
    Mitglied seit:
    06.11.2004
    Na ja, bei 370000 Kontakten hätte ich jetzt auch an einen Fehler auf Grund der schieren Anzahl der Kontakte gedacht, aber bei 370?
    Zur Eingrenzung der fehlerhaften .vcf kannst ja mal deine Mails durchforsten.

    Apropos: Im Eingangspost steht was von „exportieren in vif“, gemeint ist vcf, oder?
     
  5. roedert

    roedert Thread Starter Mitglied

    Beiträge:
    11.299
    Zustimmungen:
    2.485
    Mitglied seit:
    05.01.2011
    neee, die Kontakte sind alle manuell angelegt, teilweise mit Bildern

    Ja klar vcf ... Rechtschreibkorrektur mach vif draus. Ändern kann ich es jetzt auch nicht mehr.
     
  6. tubo

    tubo Mitglied

    Beiträge:
    146
    Zustimmungen:
    29
    Mitglied seit:
    10.11.2004
    Was passiert denn bei einem manuellen, nicht gescripteten Export nach vcf?
    Und - der Hälfte/Hälfte-Test-Ansatz könnte doch relativ schnell zum Reparieren taugen:
    Erste 50% gescriptet exportieren, nächste 25%, nächste …
     
  7. roedert

    roedert Thread Starter Mitglied

    Beiträge:
    11.299
    Zustimmungen:
    2.485
    Mitglied seit:
    05.01.2011
    siehe #3 .. klappt problemlos
     
  8. tubo

    tubo Mitglied

    Beiträge:
    146
    Zustimmungen:
    29
    Mitglied seit:
    10.11.2004
    Ok, habe ich wohl falsch verstanden. Dann also partielles Löschen und Export (Fehler ja/nein), und Eingrenzen…
     
  9. Macschrauber

    Macschrauber Mitglied

    Beiträge:
    4.277
    Medien:
    3
    Zustimmungen:
    1.913
    Mitglied seit:
    08.02.2014
    Hatte ich auch schon beim Filemaker scripten.

    Vielleicht muss das script wieder angestossen werden:


    Tell me to close access ... ...
     
  10. roedert

    roedert Thread Starter Mitglied

    Beiträge:
    11.299
    Zustimmungen:
    2.485
    Mitglied seit:
    05.01.2011
    Es liegt scheinbar wirklich nur an der Menge ... wobei 370 Kontakte jetzt ja eigentlich noch im Rahmen sein sollten. Der Verdacht eines "krummen" Kontaktes hat sich nicht bestätigt:

    - leeres Adressbuch -> script-Export fehlerfrei
    - alle 370 Kontakte importiert -> script-Export läuft auch Timeout nach 2 Minuten
    - Kontakte bis M gelöscht -> script-Export fehlerfrei (Dauer nicht mehr als 1-2 Sekunden)
    - alle Kontakte erneut importiert und ab M gelöscht -> script-Export fehlerfrei (Dauer nicht mehr als 1-2 Sekunden)
     
  11. Macschrauber

    Macschrauber Mitglied

    Beiträge:
    4.277
    Medien:
    3
    Zustimmungen:
    1.913
    Mitglied seit:
    08.02.2014
  12. roedert

    roedert Thread Starter Mitglied

    Beiträge:
    11.299
    Zustimmungen:
    2.485
    Mitglied seit:
    05.01.2011
    Es scheint ja kein Timing-Problem zu sein, Export <M Dauer max 2 sec, >M auch nur 2 sec ... das Script hängt sich auf, da ändert auch ein höherer Timeout nix dran.

    Habs jetzt eine wenig umgestellt und es funktioniert wieder - Laufzeit auch nur wenige Sekunden:

    alt:
    write ((vcard of people) as text) to fileReference as «class utf8»

    neu:
    repeat with per in people
    write (vcard of per as text) to fileReference as «class utf8»
    end repeat
     
Die Seite wird geladen...
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite weitersurfst, akzeptierst du unseren Einsatz von Cookies. Akzeptieren Weitere Informationen...