- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想创建一些函数来安排 php 脚本,例如,如果我想在 12/12/2012 12:12 运行 page.php,我可以调用
schedule_script('12/12/2012 12:12','page.php');//or by passing a time/datetime object
或者例如每分钟调用一个脚本
schedule_interval(60,'page.php');//every 60s=1minute
我可能会添加一些其他功能来查看安排了哪些脚本或删除其中一个。
我希望这个功能在 UNIX 和 WINDOWS 平台上都能工作,我不想要丑陋的解决方案,比如在网站的每个页面上执行脚本(我想在没有人在网站上时安排这个命令)或使用“buisy等待”实现(在脚本上使用 sleep() 来检查是否有任何计划的作业)或需要用户干预的东西(比如在控制台中写东西或打开面板)。
我在 MSDOS 上找到了“AT”命令(在所有 Windows 上都运行良好)但它非常基础,因为它只接受时间而不接受日期,在 UNIX 上有一个更强大的版本,但我不知道如何使用它(我想要一个适用于两个平台的解决方案)。
最佳答案
有一个 PHP 函数可以让您将脚本执行延迟到某个时间点。
假设我有 cron.php
:
<?php
// Usage:
// cron.php [interval|schedule] [script] [interval|stamp]
if(!isset($argc) || count($argc)!=2)die; // security precaution
$time=(int)$argv[3]; // just in case :)
if($argv[1]=='schedule'){
time_sleep_until((int)$_GET['until']);
include_once($time);
}elseif($argv[1]=='interval')
while(true){ // this is actually an infinite loop (you didn't ask for an "until" date? can be arranged tho)
usleep($time*1000); // earlier I said milliseconds: 1000msec is 1s, but this func is for microseconds: 1s = 1000000us
include_once($argv[2]);
}
?>
还有你的类
/函数
文件:
// Const form K2F - Are we on windows?
define('ISWIN', strpos(strtolower(php_uname()),'win')!==false &&
strpos(strtolower(php_uname()),'darwin')===false );
// Function from K2F - runs a shell command without waiting (works on all OSes)
function run($cmd){
ISWIN ? pclose(popen('start /B '.$cmd,'r')) : exec($cmd.' > /dev/null &');
}
script_schedule($script,$time){
if(is_string($time))$time=strtotime($time);
run('php -f -- schedule '.escapeshellarg($script).' '.$time);
}
script_interval($script,$mseconds){
run('php -f -- interval '.escapeshellarg($script).' '.$mseconds);
}
它应该有效。顺便说一下,K2F 是一个让你梦想成真的框架......更快。 ;).干杯。
编辑:如果您仍然想要有关计算正在运行的作业和/或删除(停止)它们的部分,我也可以帮助您。只需回复我的帖子,我们就会跟进。
关于php - 调度php脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5526699/
我有一个带有一些功能的perl对象。每个功能从主程序中调用一次。我想并行运行某些功能以节省时间。由于某些功能取决于先前功能的结果,因此我无法将它们全部一起运行。 我想到了这样的事情: 对于每个函数,保
首先,我的代码在这里: import schedule # see https://github.com/dbader/schedule import crawler def job(): p
从 11 月 1 日开始,我必须使用quartz调度程序每4个月安排一次任务。我使用 cronExpression 来实现同样的目的。但 cronExpression 每年都会重置。所以我的任务将在
我有以下代码块,它调用两个请求,但略有延迟。 final ActorRef actor1 = getContext().actorOf( ActorClass.prop
考虑到 Linux 的情况,我们为每个用户堆栈都有一个内核堆栈,据我所知,每当发生上下文切换时,我们都会切换到当前进程的内核模式。 这里我们保存当前进程的当前状态,寄存器,程序数据等,然后调度器(不确
我有将东西移植到 OpenBSD 的奇怪爱好。我知道它有 pthreads 问题,但在 2013 年 5 月发布版本之前我不会升级。我使用的是 5.0,我对 pthreads 还很陌生。我已经学习了
给定一组任务: T1(20,100) T2(30,250) T3(100,400) (execution time, deadline=peroid) 现在我想将截止日期限制为 Di = f * Pi
使用 Django 开发一个小型日程安排 Web 应用程序,在该应用程序中,人们被分配特定的时间与他们的上级会面。员工存储为模型,与表示时间范围和他们有空的星期几的模型具有 OneToMany 关系。
我想了解贪婪算法调度问题的工作原理。 所以我一直在阅读和谷歌搜索一段时间,因为我无法理解贪心算法调度问题。 我们有 n 个作业要安排在单个资源上。作业 (i) 有一个请求的开始时间 s(i) 和结束时
这是流行的 El Goog 问题的变体。 考虑以下调度问题:有 n 个作业,i = 1..n。有 1 台 super 计算机和无限的 PC。每个作业都需要先经过 super 计算机的预处理,然后再在P
假设我有一个需要运行多次的蜘蛛 class My_spider(Scrapy.spider): #spider def 我想做这样的事 while True: runner = Cra
我已将 podAntiAffinity 添加到我的 DeploymentConfig 模板中。 但是,pod 被安排在我预计会被规则排除的节点上。 我如何查看 kubernetes 调度程序的日志以了
我已经使用 React - Redux - Typescript 堆栈有一段时间了,到目前为止我很喜欢它。但是,由于我对 Redux 很陌生,所以我一直在想这个特定的话题。 调度 Redux 操作(和
我想按照预定的计划(例如,周一至周五,美国东部时间晚上 9 点至 5 点)运行单个 Azure 实例以减少账单,并且想知道最好的方法是什么。 问题的两个部分: 能否使用服务管理 API [1] 按预定
假设最小模块安装(为了简单起见),Drupal 的 index.php 中两个顶级功能的核心“职责”是什么? ? drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); me
我正在尝试使用 Racket(以前称为 PLT Scheme)连接 URL 调度。我查看了教程和服务器文档。我不知道如何将请求路由到相同的 servlet。 具体例子: #lang 方案 (需要网络服
我想在 Airflow (v1.9.0) 上运行计划。 我的DAG需要在每个月底运行,但我不知道如何编写设置。 my_dag = DAG(dag_id=DAG_ID, cat
我正在尝试在“httpTrigger”类型函数的 function.json 中设置计划字段,但计时器功能似乎未运行。我的目标是拥有一个甚至可以在需要时进行调度和手动启动的功能,而不必仅为了调度而添加
我正在尝试制定每周、每月的 Airflow 计划,但不起作用。有人可以报告可能发生的情况吗?如果我每周、每月进行安排,它就会保持静止,就好像它被关闭一样。没有错误信息,只是不执行。我发送了一个代码示例
我希望每两周自动更新一次我的表格。我希望我的函数能够被 firebase 调用。 这可能吗? 我正在使用 Angular 2 Typescript 和 Firebase。 最佳答案 仅通过fireba
我是一名优秀的程序员,十分优秀!