我一直在使用Django开发一个Web应用程序,我很好奇是否有办法安排作业定期运行.
基本上我只是想通过数据库运行并自动定期进行一些计算/更新,但我似乎无法找到任何关于这样做的文档.
有谁知道如何设置它?
澄清:我知道我可以设置一个cron工作来做这件事,但我很好奇Django中是否有一些提供此功能的功能.我希望人们能够自己部署这个应用程序而无需进行太多配置(最好是零).
我已经考虑通过简单地检查自上次将请求发送到网站后是否应该运行作业来"追溯"触发这些操作,但我希望有一些更清洁的东西.
我正在寻找一个Python的库,它将提供at和cron功能相似.
我非常喜欢使用纯Python解决方案,而不是依赖于盒子上安装的工具; 这样我就可以在没有cron的机器上运行.
对于那些不熟悉的人cron:您可以根据以下表达式安排任务:
0 2 * * 7 /usr/bin/run-backup # run the backups at 0200 on Every Sunday
0 9-17/2 * * 1-5 /usr/bin/purge-temps # run the purge temps command, every 2 hours between 9am and 5pm on Mondays to Fridays.
Run Code Online (Sandbox Code Playgroud)
cron时间表达式语法不那么重要,但我希望能有这种灵活性.
如果没有任何东西可以为我开箱即用,那么任何关于构建模块的建议都会感激不尽.
编辑 我对启动进程不感兴趣,只是用Python编写的"作业" - python函数.必要时我认为这将是一个不同的主题,但不是在一个不同的过程中.
为此,我正在寻找cron时间表达式的表现力,但在Python中.
Cron 已经存在多年了,但我试图尽可能地便携.我不能依赖它的存在.
我试图让Windows任务计划程序每10分钟左右运行一次特定的.exe,但这些选项只允许每天执行一次.
有没有办法让我每10或20分钟运行一次.exe?
一个谷歌搜索打开了,作为cron的执行相同功能的软件,但没有内置到Windows.
我正在运行Windows XP Professional,但对任何版本的Windows的建议都可能对某人有所帮助.
是否还有一种方法可以通过编程方式或通过命令行调用此功能(基于答案称为任务计划程序)?
好的,我有一个cron,我需要每30秒运行一次.
这是我有的:
*/30 * * * * /bin/bash -l -c 'cd /srv/last_song/releases/20120308133159 && script/rails runner -e production '\''Song.insert_latest'\'''
Run Code Online (Sandbox Code Playgroud)
它运行,但这是每30分钟还是30秒运行一次?
此外,我一直在阅读如果我经常运行它,cron可能不是最好的工具.还有其他更好的工具,我可以在Ubuntu 11.04上使用或安装,这将是一个更好的选择吗?有没有办法修复上面的cron?
我有代码,我在那里安排任务使用java.util.Timer.我环顾四周,看到ExecutorService可以做同样的事情.所以这个问题,你有没有使用Timer和Timer计划任务,一个人使用另一个人的好处是什么?
还想检查是否有人使用过该ExecutorService课程并遇到了Timer为他们解决的任何问题.
今天我们构建了一个控制台应用程序,用于运行ASP.NET网站的计划任务.但我认为这种方法有点容易出错且难以维护.如何执行计划任务(在Windows/IIS/ASP.NET环境中)
更新:
任务示例:
我有一个运行计划任务的Windows Server 2008,主要是调用PHP文件的.bat文件.我在服务器上有2个用户,一个是Admin,另一个是Standard用户.
我使用标准用户使用事件查看器清除任务计划程序历史记录选项卡中的历史记录日志.现在它不再记录任何历史了.历史记录选项卡中的所有计划任务都不再具有历史记录.但是,上次运行结果返回0x0并且调度程序正常工作.
请指教.
我需要安排一个任务以固定的时间间隔运行.如何在长时间间隔(例如每8小时)的支持下完成此操作?
我正在使用java.util.Timer.scheduleAtFixedRate.是否java.util.Timer.scheduleAtFixedRate支持长时间间隔?
我输入了:
* 22 * * * test > /dev/null
Run Code Online (Sandbox Code Playgroud)
但是,我通过电子邮件通知我每分钟都在运行.我很困惑,因为我觉得这对我想要的东西是正确的.