473,231 Members | 2,054 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,231 software developers and data experts.

Windows XP - cron or scheduler for Python?


I'm trying to have some scripts run periodically on Windows XP and found the "Task Scheduler" did not execute my scripts. My scripts are of the form scriptName.py, and will run just by invoking that name in the Command Prompt.

Has anyone used the Windows Task Scheduler to run .py scripts, and if so isthere some intracacy to it?

Is there a more UNIX version of a cron program one can run on Windows?

Has anyone written a simple cron program for Windows in Python, or does anyone see any complication with doing that (which I have not grasped)?

Do I just need to build myself an **IX box?

Eric Pederson
http://www.songzilla.blogspot.com
:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::
e-mail me at:
do@something.com
except, increment the "d" and "o" by one letter
and spell something with a "z"
:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::

Jul 18 '05 #1
19 5775
Eric @ Zomething wrote:
I'm trying to have some scripts run periodically on Windows XP and found the "Task Scheduler" did not execute my scripts. My scripts are of the form scriptName.py, and will run just by invoking that name in the Command Prompt.

Has anyone used the Windows Task Scheduler to run .py scripts, and if so is there some intracacy to it?


I had not tried it, so I just did. My first attempt failed. As it
turned out, it was because I ignore the password field, assuming
it would be able to run anyway while I was logged in. The "status"
field in the Task Scheduler window showed the reason... once I
fixed that, it did work, either as "c:/tick.py" (make sure you
include the right path here or in the "start in this folder" field)
or as "c:/a/python23/python.exe c:/tick.py".

If it's not working, double-check the status field to see why it
didn't work...

-Peter
Jul 18 '05 #2
I run python programs ALL the time on Windows XP
using the scheduler. Two things you must
remember when doing this:

1) Your program runs in a "different" environment
than your foreground application. It DOES NOT
inherit drive mappings, environment variables,
paths, etc. so you must fully qualify everything.

2) Always call Python and have it run the application.
Don't just try to run progname.py.

HTH,

Larry Bates
Syscon, Inc.

"Eric @ Zomething" <er**@zomething.com> wrote in message
news:ma***********************************@python. org...

I'm trying to have some scripts run periodically on Windows XP and found the
"Task Scheduler" did not execute my scripts. My scripts are of the form
scriptName.py, and will run just by invoking that name in the Command
Prompt.

Has anyone used the Windows Task Scheduler to run .py scripts, and if so is
there some intracacy to it?

Is there a more UNIX version of a cron program one can run on Windows?

Has anyone written a simple cron program for Windows in Python, or does
anyone see any complication with doing that (which I have not grasped)?

Do I just need to build myself an **IX box?

Eric Pederson
http://www.songzilla.blogspot.com
:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::
e-mail me at:
do@something.com
except, increment the "d" and "o" by one letter
and spell something with a "z"
:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::
Jul 18 '05 #3
Larry Bates wrote:
2) Always call Python and have it run the application.
Don't just try to run progname.py.


This actually works, though, at least on my system. It
might be because I inserted .py in the PATHEXT env var
globally, though I thought it was just because running
a .py is possible simply by clicking on it in Explorer
(ie. the File Association does the job).

-Peter
Jul 18 '05 #4
Peter Hansen wrote:
Larry Bates wrote:
2) Always call Python and have it run the application.
Don't just try to run progname.py.

This actually works, though, at least on my system. It
might be because I inserted .py in the PATHEXT env var
globally, though I thought it was just because running
a .py is possible simply by clicking on it in Explorer
(ie. the File Association does the job).


No, putting .py in PATHEXT is necessary. That way, you can run python
programs from the command line (cmd) using just "scriptname", without the
extension! (it performs just like .bat, .exe and similar files)
Jul 18 '05 #5
Ivan Voras wrote:
Peter Hansen wrote:
Larry Bates wrote:
2) Always call Python and have it run the application.
Don't just try to run progname.py.


This actually works, though, at least on my system. It
might be because I inserted .py in the PATHEXT env var
globally, though I thought it was just because running
a .py is possible simply by clicking on it in Explorer
(ie. the File Association does the job).


No, putting .py in PATHEXT is necessary. That way, you can run python
programs from the command line (cmd) using just "scriptname", without
the extension! (it performs just like .bat, .exe and similar files)


Are you sure? I just tried removing .py from my PATHEXT and
not only did it still work from Explorer, it even worked from
the command line!

Then I tried redirecting the File Assocation under File Types
to point to notepad instead of python. Now typing "xxx.py"
at the command line or clicking on the xxx.py file in
Explorer both launch Notepad to edit the file.

I'm not sure what PATHEXT is really needed for, but executing
..py files on the command line in Windows XP does not seem to
be one of them...

-Peter
Jul 18 '05 #6
* Peter Hansen (2004-06-21 19:35 +0200)
Ivan Voras wrote:
Peter Hansen wrote:
Larry Bates wrote:
2) Always call Python and have it run the application.
Don't just try to run progname.py.

This actually works, though, at least on my system. It
might be because I inserted .py in the PATHEXT env var
globally, though I thought it was just because running
a .py is possible simply by clicking on it in Explorer
(ie. the File Association does the job).


No, putting .py in PATHEXT is necessary. That way, you can run python
programs from the command line (cmd) using just "scriptname", without
the extension! (it performs just like .bat, .exe and similar files)


Are you sure? I just tried removing .py from my PATHEXT and
not only did it still work from Explorer, it even worked from
the command line!

Then I tried redirecting the File Assocation under File Types
to point to notepad instead of python. Now typing "xxx.py"
at the command line or clicking on the xxx.py file in
Explorer both launch Notepad to edit the file.

I'm not sure what PATHEXT is really needed for, but executing
.py files on the command line in Windows XP does not seem to
be one of them...


"PATHEXT" enables you to run files in the path with these extensions
without extension (for example "winword" instead of "winword.exe").
The cmd shell actually performs an "open" action. For executables
"opening" is running them. For documents it's starting the associated
application and opening the document in it. For .py both things are
reasonable.

Thorsten
Jul 18 '05 #7
> 2) Always call Python and have it run the application.
Don't just try to run progname.py.


How would one do this. I'm a unix geek having the same problems as the
op, but I'm on windows 2000. The status simply says "couldn't start".
Any other ideas would be appreciated as well.
Jul 18 '05 #8
Jay Donnell wrote:
2) Always call Python and have it run the application.
Don't just try to run progname.py.


How would one do this. I'm a unix geek having the same problems as the
op, but I'm on windows 2000. The status simply says "couldn't start".
Any other ideas would be appreciated as well.


For starters, try full absolute paths for both parts. On
my machine, for example, this is pretty much guaranteed
to run:

c:\a\python23\python.exe c:\tick.py

This was just the following script, which you might want
to try as a test, but it works only if the pywin32 stuff
(formerly known as win32all) is installed:

import win32ui
win32ui.MessageBox('it works!', 'Tick', 0)

If even that doesn't work (after correcting the paths
and module name for your own system), open a command prompt
(Start->Run then type "cmd" and hit enter) and type
exactly the same thing there. If *that* doesn't work,
you don't even have Python installed properly...

-Peter
Jul 18 '05 #9
You can retrieve the startup error code using the Pywin32 package.
(requires build 201)

import pythoncom, win32api
from win32com.taskscheduler import taskscheduler
ts=pythoncom.CoCreateInstance(taskscheduler.CLSID_ CTaskScheduler,None,

pythoncom.CLSCTX_INPROC_SERVER,taskscheduler.IID_I TaskScheduler)
task=ts.Activate('your task name')
exit_code,startup_error_code=task.GetExitCode()
print win32api.FormatMessage(startup_error_code)
hth
Roger
"Jay Donnell" <ja********@yahoo.com> wrote in message
news:a6**************************@posting.google.c om...
2) Always call Python and have it run the application.
Don't just try to run progname.py.


How would one do this. I'm a unix geek having the same problems as the
op, but I'm on windows 2000. The status simply says "couldn't start".
Any other ideas would be appreciated as well.

Jul 18 '05 #10
You can actually run tasks under your userid without a password
if you're logged in. However, you have to set a certain flag for the task.
(TASK_FLAG_RUN_ONLY_IF_LOGGED_ON)
You can do this programatically using Pywin32.
Roger

"Peter Hansen" <pe***@engcorp.com> wrote in message
news:aN********************@powergate.ca...
Eric @ Zomething wrote:
I'm trying to have some scripts run periodically on Windows XP and found the "Task Scheduler" did not execute my scripts. My scripts are of the form
scriptName.py, and will run just by invoking that name in the Command
Prompt.
Has anyone used the Windows Task Scheduler to run .py scripts, and if so
is there some intracacy to it?
I had not tried it, so I just did. My first attempt failed. As it
turned out, it was because I ignore the password field, assuming
it would be able to run anyway while I was logged in. The "status"
field in the Task Scheduler window showed the reason... once I
fixed that, it did work, either as "c:/tick.py" (make sure you
include the right path here or in the "start in this folder" field)
or as "c:/a/python23/python.exe c:/tick.py".

If it's not working, double-check the status field to see why it
didn't work...

-Peter

Jul 18 '05 #11
"Eric @ Zomething" <er**@zomething.com> wrote in message news:<ma***********************************@python .org>...
Is there a more UNIX version of a cron program one can run on Windows?


Take a look at nnCron LITE (freeware): small but powerful cron/anacron Windows port.

http://www.nncron.ru
Jul 18 '05 #12
Roger Upole wrote:
You can actually run tasks under your userid without a password
if you're logged in. However, you have to set a certain flag for the task.
(TASK_FLAG_RUN_ONLY_IF_LOGGED_ON)


Wow, now there's someone who's been delving deep into the innards
of MSDN. How do you guys *know* this stuff?! :-)
Jul 18 '05 #13
"Larry Bates" <lb****@swamisoft.com> wrote in message news:<b9********************@comcast.com>...
I run python programs ALL the time on Windows XP
using the scheduler. Two things you must
remember when doing this:

1) Your program runs in a "different" environment
than your foreground application. It DOES NOT
inherit drive mappings, environment variables,
paths, etc. so you must fully qualify everything.

2) Always call Python and have it run the application.
Don't just try to run progname.py.

HTH,

Larry Bates
Syscon, Inc.

"Eric @ Zomething" <er**@zomething.com> wrote in message
news:ma***********************************@python. org...

I'm trying to have some scripts run periodically on Windows XP and found the
"Task Scheduler" did not execute my scripts. My scripts are of the form
scriptName.py, and will run just by invoking that name in the Command
Prompt.

Has anyone used the Windows Task Scheduler to run .py scripts, and if so is
there some intracacy to it?

Is there a more UNIX version of a cron program one can run on Windows?

Has anyone written a simple cron program for Windows in Python, or does
anyone see any complication with doing that (which I have not grasped)?

Do I just need to build myself an **IX box?

Eric Pederson
http://www.songzilla.blogspot.com
:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::
e-mail me at:
do@something.com
except, increment the "d" and "o" by one letter
and spell something with a "z"
:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::

i just found a cool scheduler called pycron that apparently is written
in python

*my* problem is i forgot how to make python scripts executable -- i have
this foggy memory of 'if __name__ == "__main__":' not getting triggered
if you're using something other than the command prompt, but i am failing
to find it written down anywhere, and pycron tells me it ran my scripts,
but nothing actually happens -- very frustrating
Jul 18 '05 #14
I have gone through the pain of trying to use those commands and use
other available cron clients for Windows to find they are expensive, or
have bugs and are not stable. So I wrote a very simple yet powerful
script that handles all the basic functionality of Cron. It has been
stable and used in production for about a year. The source code is in
Python and you can read it, it is a simple page. I have also created a
version for Windows with an installer that doesn't even require Python
installed in the target machine.

You can find the project here:
http://sourceforge.net/projects/pycron

Emilio.

Jul 18 '05 #15
ian
Hi,
I thought I'd throw in my 2 cents worth.

I have written a freeware task scheduler that might be of interest to
you.
It's called Kirby Alarm And Task Scheduler.
Over 16000 people around the world use it.

Kirby Alarm will run a program, pop up a note, play a sound, or send an
email at whatever intervals you like.
Have a look at http://www.kirbyfooty.com/
or read what others have to say about it at
http://www.download.com/Kirby-Alarm-...ml?tag=stbc.gp

To run a python script just put the following into the program name.
(The quotes MUST be included wherever there are spaces in the command
line)

"C:\Python23\python.exe" "d:\mypython\Say Time.py"
Have a great Christmas!

God bless

Ian

Jul 18 '05 #16
Emilio wrote:
I have gone through the pain of trying to use those commands and use
other available cron clients for Windows to find they are expensive, or
have bugs and are not stable. So I wrote a very simple yet powerful
script that handles all the basic functionality of Cron. It has been
stable and used in production for about a year. The source code is in
Python and you can read it, it is a simple page. I have also created a
version for Windows with an installer that doesn't even require Python
installed in the target machine.

You can find the project here:
http://sourceforge.net/projects/pycron

Emilio.


I find your project useful, but it's not a full "operation planned"
replacement. (I hope I have translate correctly from Italian "Operazioni
pianificate", you'll find it into the control panel).
It's mean that lack the service function. For example, if the pc is
lighted, but no logged-in, pycron don't work!

Why don't add this function? I think that is simple to make with py2exe
help.

If you want I can create a simple GUI that can help the users that have
no knowledge whit contrab sintax.

Michele
Jul 18 '05 #17
ia*@kirbyfooty.com wrote:
Hi,
I thought I'd throw in my 2 cents worth.

I have written a freeware task scheduler that might be of interest to
you.
It's called Kirby Alarm And Task Scheduler.
Over 16000 people around the world use it.


Hi,

Was this written in Python? If so 2 quick questions:

1. what did you use to write the GUI?

2. any chance we could see some of the code for this? (I understand
if not of course)

Thanks,

Esmail
ps: I downloaded the program just a few minutes ago to check out.
Jul 18 '05 #18
ian
Hi Esmail,
Kirby Alarm is written in Clarion.
Sorry, but I want to keep the source code to myself.
Ian

Jul 18 '05 #19
ia*@kirbyfooty.com wrote:
Hi Esmail, Kirby Alarm is written in Clarion. Sorry, but I want to
keep the source code to myself.


Hi, thanks for the info, and no problem.

I'm learning Python, and looking at other's code has been a
great way to learn. (As an aside, I was thinking of this
sort of application as a good project).

cheers,
Esmail
Jul 18 '05 #20

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Leigh Riley | last post by:
Hi there, Can anyone tell if there's a solution to this for a Windows environment? If this was running under Linux, it would be a problem, but... I have a php script that when run, examines a...
4
by: Doug | last post by:
I have Windows XP professional. Is there ANYTHING reliable on Windows that is like cron on UNIX that will allow you run something at regular intervals, for example, like every 10 minutes? I...
8
by: Earl Eiland | last post by:
How does one make a Python program auto-execute in Windows? Earl
1
by: av_nagar | last post by:
hello - I would like to know how do i work with php in windows tasks. i developed a php web application and i would like to recieve to my email every day a certain report which will be...
4
by: vagrantbrad | last post by:
I'm using python 2.4 running on Fedora Core 4. I have written a python program called ipscan.py that checks the external ip address of my cable internet connection, and on change, will update the...
2
by: erikcw | last post by:
Hi all, When trying to run this python script from cron, I get the following error: Traceback (most recent call last): File "/home/lybp/public_html/wa/wa.py", line 14, in ? import MySQLdb...
4
by: Stephen Cattaneo | last post by:
Hello all, I am attempting to execute an automated test (written in Python) via cron. I have to check the HOSTNAME variable as part of the test, oddly under cron the HOSTNAME environment...
0
by: Cameron Simpson | last post by:
On 17Aug2008 21:25, John Nagle <nagle@animats.comwrote: Because $HOSTNAME is a bash specific variable, set by bash but NOT EXPORTED! Like $0 and a bunch of other "private" variables, subprocesses...
5
by: karxx | last post by:
Hi Gurus, Making my first python program and try to mimic a crontab. running : 2.6 with sched module I need to create a python program which can execute programs at a specific time. so I...
0
by: VivesProcSPL | last post by:
Obviously, one of the original purposes of SQL is to make data query processing easy. The language uses many English-like terms and syntax in an effort to make it easy to learn, particularly for...
3
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 3 Jan 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). For other local times, please check World Time Buddy In...
0
by: jianzs | last post by:
Introduction Cloud-native applications are conventionally identified as those designed and nurtured on cloud infrastructure. Such applications, rooted in cloud technologies, skillfully benefit from...
0
by: fareedcanada | last post by:
Hello I am trying to split number on their count. suppose i have 121314151617 (12cnt) then number should be split like 12,13,14,15,16,17 and if 11314151617 (11cnt) then should be split like...
0
Git
by: egorbl4 | last post by:
Скачал я git, хотел начать настройку, а там вылезло вот это Что это? Что мне с этим делать? ...
1
by: davi5007 | last post by:
Hi, Basically, I am trying to automate a field named TraceabilityNo into a web page from an access form. I've got the serial held in the variable strSearchString. How can I get this into the...
0
by: MeoLessi9 | last post by:
I have VirtualBox installed on Windows 11 and now I would like to install Kali on a virtual machine. However, on the official website, I see two options: "Installer images" and "Virtual machines"....
0
by: Aftab Ahmad | last post by:
Hello Experts! I have written a code in MS Access for a cmd called "WhatsApp Message" to open WhatsApp using that very code but the problem is that it gives a popup message everytime I clicked on...
0
by: Aftab Ahmad | last post by:
So, I have written a code for a cmd called "Send WhatsApp Message" to open and send WhatsApp messaage. The code is given below. Dim IE As Object Set IE =...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.