Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Regelmässige Jobs: ist AS- idle-Technik die Alternative?

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 22.03.2005 - 08:43    Titel: Regelmässige Jobs: ist AS- idle-Technik die Alternative? Antworten mit Zitat

http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=892
Idea Wie bringt man UNIX bei dass er mit Crohn-Job s auch ein ganz bestimmtes AS starten soll? und das mit Hausmitteln? per Tastatur eingeben? ohne iCal..paperlapapp? Braucht es dazu wirklich CRONNIX oder IDEFIX oder wie sie alle heissen?

Wäre AS-idle die einfachere Technik als über Crohn-Jobs, ein AS-starten zu lassen das regelmässige Pflichten erfüllen soll?

Was ich vor allem suche ist einen solches PULSGENERATOR-GERÄT , das sich dann auch mit dem erwähnten SNIPPET nach dem Neustart ZB auf Ablauf übeprüfen liesse:

Der eigentliche Clou dieses Snippets ist wohl dieser:

property letztesDatumTag : date "Samstag, 10. Dezember 1966 12:00:00 Uhr"


--Merken
set letztesDatumTag to heuteDatum


Dies bewirktdass beim 2. oder 3. mal Aufrufens des Skriptes(welches die Crohn Jobs ankicken soll ZB nach Neustart) an ein und demselben Tag, dass nicht noch- und nochmals Z.B.der "daily"-Befehl ausgeführt wird und zwar durch das "Einschreiben " in die property welche sich jeweils den letzten Aufruf merken kann und andererseits ein durch Ausschalten noch nicht gemachter Job dann auch ausgeführt wird.So hab ich das SNIPPET verstanden.

ganz kurz hat Folgendes geschrieben:

oder könnte hier mal Snow mit einem "wenig-Zeiler" erklären, wie man Pulsgeneratoren mit AS mittels idle (? genau das weiss ich eben nicht) macht, dann kann ich die Schnappsidee getrost vergessen es über Crohn-Jobs zu probieren

_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
PI
•-->
•-->


Anmeldedatum: 23.02.2005
Beiträge: 89
Wohnort: 89567 Sontheim / Brenz

BeitragVerfasst am: 24.03.2005 - 13:52    Titel: Antworten mit Zitat

hi spirigwi,
ich hab mir mal auf classic ein startUp-prograemmchen geschrieben (benoetigt akua-sweets), welches taeglich die schriebtischbilder mehrerer monitore wechselt:

<script>
property letzteErneuerung : 0
set heute to day of (current date)
if heute ≠ letzteErneuerung then
set {pfad, letzteErneuerung, dateiRefL, ausrichtungL} to¬
{path to desktop pictures folder as text, heute, {}, {}}
repeat (count (display setup)) + 1 times
-- muss bei 2 monitore 3 * ausgeführt (warum auch immer) werden
set dateiName to the entries in pfad ¬
from {-1, 0} whose kinds are file -- zufällige bildDatei
if dateiName begins with "_" then
set end of ausrichtungL to 3 -- skaliert
else
set end of ausrichtungL to 4 -- bildschirmFüllend
end if
set end of dateiRefL to alias (pfad & dateiName)
end repeat
the current theme should be set to¬
{desktop picture files:dateiRefL,¬
desktop picture alignment:ausrichtungL}
end if
</script>

das kannst du auch in einen 'idle' handler verpacken;
ist es das, was du suchst ?
_________________
hossa, PI [mini 1.83GHz intel Core Duo OS10.4.11]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 24.03.2005 - 16:26    Titel: Antworten mit Zitat

Shocked zuerst stelle ich fest dass mir ein OSX-Zitat ins AS-Forum gesprungen ist, nun aber sehe ich plötzlich: wenn eine alternative zu CrohnJobs dann im OS9! super Idee.
Laughing ich Freude, dann
PI hat Folgendes geschrieben:
(benoetigt akua-sweets)
Embarassed Question das was sein¿

Aber : vielen Dank für dein Skript! ich brauche immer eine Lupe , in diesem Falle Snows CodeFormatter den ich mal drüber geschickt habe und es erscheint mir wunderbar: genau sowas suche ich:

PI_etwas kurz hat Folgendes geschrieben:
property letzteErneuerung : 0
set heute to day of (current date)
if heuteletzteErneuerung then
set {PFAD, letzteErneuerung, dateiRefL, ausrichtungL} to ¬
{path to desktop pictures folder as text, heute, {}, {}}
repeat (count (display setup)) + 1 times
-- muss bei 2 monitore 3 * ausgeführt (warum auch immer) werden

-- HIER also (benoetigt akua-sweets) ?

set dateiName to the entries in PFAD ¬
from {-1, 0} whose kinds are file -- zufällige bildDatei
if dateiName begins with "_" then
set end of ausrichtungL to 3 -- skaliert
else
set end of ausrichtungL to 4 -- bildschirmFüllend
end if
set end of dateiRefL to alias (PFAD & dateiName)
end repeat
the current theme should be set to ¬
{desktop picture files:dateiRefL, desktop picture alignment:ausrichtungL} ¬

end if


so was wäre ideal wenn Shell des OSX kein feedback abgibt, dh wenn dessen Pulsgenerator uns kein AppleSkript auf einfache weise starten könnte. In deinem Skript kenne ich keinen generator,

Kennst du dich auch aus in dieser ominösen idle-Technik? könnte diese ev OSX-ens Pulsgenerator Crohn-Job oder die Energie-spar-Erweiterung(die ja auch ein Pulsgenerator ist allerdings Frequenz eines Elephanten Herzens= 1 Schlag/ 24 h ja einer ist) - dessen Aufgabe erfüllen?

Allerdings wenn man bedenkt dass dein Skript immer dann etwas tut wenn es aufgerufen wird, könnte man ja die Jobs beim Neustart immer überprüfen lassen und der Pacemaker wäre eben dann das Elefantenherz. Problem: wenn kein Neustart /24 h programmiert ist kein Puls=tot.
genau dies kann offenbar UNIX mit seinen shells kompensieren.

Können wird das nicht auch mit idle...(so langsam beginne ich von ¿Wunderwaffen? zu träumen, wenns denn welche gäbe mit "Hausmitteln")

hab mal so was aufgeschnappt:
Zitat:
idleLib is an AppleScript library providing a coherent system for managing
the idle handler of a stay-open script application. idleLib's facilities make it
easy to create a script application to perform periodic or scheduled background
tasks or to watch in the background for a specified condition to appear
somit weiss ich nicht mal ob das AS-nativ ist wovon die sprechen

das Programm: iDo Script Scheduler 1.5.2 http://www.sophisticated.com/support/downloads/

riecht auch nicht gerade nach Hausmitteln des Hauses AppleSkript, wäre aber ein solcher Pulsgenerator

nicht ganz zufällig habe ich einen Leidensgenossen gefunden:
http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=892
mcmonk hat Folgendes geschrieben:
Hi,

ganz net,

meine Frage ist gibts es vllt auch noch ne möglichkeit eine Stundenangabe einzubauen?

Oder Bspw. wenn ich um 5:50 etwas neues einbaut kommt es jede woche um 5:50?

Bye

Der Autor des Snippets blieb bisher leider stumm
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 25.04.2005 - 07:09, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
PI
•-->
•-->


Anmeldedatum: 23.02.2005
Beiträge: 89
Wohnort: 89567 Sontheim / Brenz

BeitragVerfasst am: 24.03.2005 - 17:30    Titel: Antworten mit Zitat

hi spirigwi,
> Kennst du dich auch aus in dieser ominösen idle-Technik?
der 'return'-wert, in diesem falle 5, gibt die zeit /sec bis zum naechsten aufruf an,
und so funzt's:

<script>
on idle
beep
return 5
end idle

on quit
display dialog "ende" buttons "OK" default button 1
continue quit
end quit
</script>
_________________
hossa, PI [mini 1.83GHz intel Core Duo OS10.4.11]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 24.03.2005 - 17:38    Titel: Antworten mit Zitat

STOPP, Snows Fernrohr:
PI hat Folgendes geschrieben:
on idle
beep
return 5
end idle

on quit
display dialog "ende" buttons "OK" default button 1
continue quit
end quit

Aha!
Du wirst es nicht glauben aber ich brauche jetzt unbedingt eine Anfänger-Erläuterung, sei noch so lieb, daaaaaanke
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
PI
•-->
•-->


Anmeldedatum: 23.02.2005
Beiträge: 89
Wohnort: 89567 Sontheim / Brenz

BeitragVerfasst am: 24.03.2005 - 18:04    Titel: Antworten mit Zitat

das hab' ich aus dem 'AppleScript_Language_Guide.pdf':
-- hoffentlich ohne lupe lesbar ;-)

Idle Handlers: If a stay-open script application includes an Idle handler, AppleScript sends the script application periodic Idle commands whenever it’s not responding to incoming events. The statements in the handler run periodically (every 30 seconds, by default). For example, this handler causes a stay-open script application to beep every 30 seconds after it has been launched: on idle beep end idle To change the rate, return the number of seconds to wait as the result of the script. For example, this script beeps every 5 seconds: on idle beep return 5 end idle If an Idle handler returns a positive number, that number becomes the rate (in seconds) at which the handler is called. If the handler returns a non-numeric value, the rate is not changed. Remember that the result returned from a handler is just the result of the last statement, even if it doesn’t include the word return explicitly. For example, this handler only gets called every 15 minutes.: on idle set x to 30 beep set x to x * x --the result (900) is returned from --the handler end idle To make sure you’re not changing the idle rate, return 0 at the end of the handler.

Quit Handlers: AppleScript sends a stay-open script application a Quit command whenever the user chooses the Quit menu command or presses Command-Q while the application is active. If the script includes a Quit handler, the statements in the handler are run before the application quits. A Quit handler can be used to set script properties, tell another application to do something, display a dialog box, or perform almost any other task. If the handler includes a continue quit statement, the script application’s default quit behavior is invoked and it quits. If the Quit handler returns before it encounters a continue quit statement, the application doesn’t quit. For example, this handler checks with the user before allowing the application to quit: on quit display dialog "Really quit?" ¬ buttons {"No", "Quit"} default button "Quit" if the button returned of the result is "Quit" then continue quit end if --if the continue statement isn't encountered, the --script application doesn't quit. end quit
WARNING If AppleScript doesn’t encounter a continue quit statement while executing an on quit handler, it may seem impossible to quit the application. For example, if the handler gets an error before the continue quit statement, attempting to quit the application just produces an error alert. As a last resort, use the emergency Quit command: press Command-Shift-Q or hold down the Shift key and choose Quit from the File menu. This saves changes to script properties and quits immediately, bypassing the Quit handler.
_________________
hossa, PI [mini 1.83GHz intel Core Duo OS10.4.11]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 24.03.2005 - 21:32    Titel: Antworten mit Zitat

Shocked NEINNERENEIN nein, nein, nein
PI hat Folgendes geschrieben:
on idle beep ....
ig nix spucket englisch, ausser beep...sen im Kopf nix verstenn!

PI hat Folgendes geschrieben:
on idle
beep
return 5
end idle

on quit
display dialog "ende" buttons "OK" default button 1
continue quit
end quit


Nur wenige D Begleitworte
Question Wie macht man dass das läuft(als Programm speichern? einmal offen immer laufen?....
Question wie kickt man die handler an

paar kurze Worte wie diese handler ineinandergreifen?

PS:
schon auffällig: selbst Snow ist für IDLE recht knauserig mit Infos:
http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=1170&highlight=idle
Snow hat Folgendes geschrieben:

Hier nun noch eine Idee mit reinen AppleScript-Mitteln. Statt in regelmäßigen Intervallen die Zeit prüfen zu lassen, ermittle ich die Zeitdifferenz und gebe diese als idle-Time an:

on idle
set Heute to (current date)
set Uhrzeit to "20:55:00 Uhr"
set StartDatum to date ((date string of Heute) & " " & Uhrzeit)

set idleTime to StartDatum - Heute

if idleTime > 0 then
return idleTime
end if
beep 5
delay 2
quit
end idle


Funktioniert auch irgendwie. Wink

man staune: die vorsichtige Wortwahl
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
PI
•-->
•-->


Anmeldedatum: 23.02.2005
Beiträge: 89
Wohnort: 89567 Sontheim / Brenz

BeitragVerfasst am: 29.03.2005 - 06:32    Titel: Antworten mit Zitat

hi spirigwi,

> Wie macht man dass das läuft(als Programm speichern?
richtig, als programm speichern, und ganz wichtig: 'nicht automatisch beenden' anhaken;

> einmal offen immer laufen?....
auch richtig, da kommste nur mit 'quit' raus; deshalb auch der 'quit-handler'

> wie kickt man die handler an
der 'idle-handler' wird durch den programmstart aufgerufen, 'nicht automatisch beenden' sorgt dafuer, dass er nach ablauf der return-zeit sich wieder selbst aufruft und nur durch 'quit' beendet werden kann.
der 'quit-handler' dient dazu, dass nach dem 'quit' im 'idle-handler' trotzdem noch aktionen ausgefuehrt werden koennen; zb datei schliessen, dialogbox etc...
_________________
hossa, PI [mini 1.83GHz intel Core Duo OS10.4.11]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 02.04.2005 - 00:41    Titel: Antworten mit Zitat

Very Happy toll PI vielen Dank, das war sehr lehrreich

PI hat Folgendes geschrieben:

on idle
beep
return 5
end idle

on quit
display dialog "ende" buttons "OK" default button 1
continue quit
end quit


hat in jeder Zeile also eine (Zeit-)Bombe, ich versuchs für mich und ähnlich bescheuerte nochmals mit Kommentaren mir klar zu machen:

on idle -- = Startbefehl im handler selbst, also kein Fernaufruf.
handler startet sich unter 3 Voraussetzungen
- für be-Applete Hirner wie meins formuliert:(A,B,C)

A) durch Speicherung als [stay-open] application,'nicht automatisch beenden' anhaken
B) Start durch öffnen der geschlossenen [stay-open] application
c) Start auch durch sein eigenes return(s.u.) nur wenn schon gestartet???????

ad B) Möglichkeiten (1.,2.,3.....):
1. Doppelklick auf Symbohl
2. AS mit: open file..path to desktop..:idler_handler_Beispiel = NIET!
( da nur Programm als file- und nicht als Programm öffnet!)
3. ins As-Menu = NIET!
(da gar nichts tut)
4. In Startornder gelegt??????????????????????
5. wie denn sonst noch??????????????????????


beep --= Letzt Befehlszeile für eigentliche Leistung des Pulses, hier:
--beepsen und zwar 1x
return 5
--A) Schliesst einen Ablauf ab nach 5 sec(Zahl ergibt ANZ sec.)
--B) durch das return innerhalb on idle handlers wird der Handler wieder gestartet dadurch.
--(diesmal also ohne Programm öffnen durch Doppelklick, sozusagen von innen heraus)
end idle

--Start des quit-handlers durch Befehl_Q auf Tastatur tippen??????????
--Alternativen zu Befehl_Q auf Tastatur ???????????????????

--===================
--Aha! Tönt nach Eingriffsmöglichkeit von extern! muss noch überlegen wie genau, vielen Dank für den Tip
--=========
p=PI =PI= 3.3333333333 schade dass Forum Symbohlschrift nicht erkennt.......... hat Folgendes geschrieben:
on idle
--igendwas
if igendwas_anderes then quit
return 5
end idle


on quit
display dialog "ende" buttons "OK" default button 1

continue quit --warum macht nicht von selbst???????????????????
wäre Möglichkeit den quit-Ablauf durch nicht beantworten des Dialogs zu stoppen ??? --> siehe 3.3333333 !

end quit
--es hat nur noch ganz wenige Fragezeichen in meinem Kopf wie du oben siehst.
--Was meinst du PI? könnte ich jetzt als greenhorn schon idles bauen und sinnvoll einsetzen?
--weisst du ob @Snow irgendwo einen link versteckt hält der alles schön ausformuliert, ich glaub da gäbs ne Menge Forianer.. Wink.. dass dem das winken vergeht? halt mit Gewalt :Wink: oder hallo winke
Ps: natürlich wartet er nur darauf mich mit der Nase platt gedrückt darauf zu stossen...
Stimmt schon: PI hat ja alles kurz und bündig gesagt was dazu zu sagen ist, nochmals vielen Dank
und überhaupt Snow, hättest du diese Formatierung mit CodeFormatter und Klick auf Forum-tools alleine geschafft?
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 08.04.2005 - 12:23, insgesamt 5-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
PI
•-->
•-->


Anmeldedatum: 23.02.2005
Beiträge: 89
Wohnort: 89567 Sontheim / Brenz

BeitragVerfasst am: 08.04.2005 - 07:43    Titel: Antworten mit Zitat

hi spirigwi,
ich hab zu deiner 'quit'-frage noch was gefunden:

> --Alternativen zu Befehl_Q auf Tastatur ???????????????????

du kannst im 'idle'-handler natuerlich ganz einfach den befehl 'quit' benutzen:

<script>
on idle
--igendwas
if igendwas_anderes then quit
return 5
end idle
</script>
_________________
hossa, PI [mini 1.83GHz intel Core Duo OS10.4.11]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter