标签: cron-task

如何限制shell脚本执行时间?

我有一个预定的cron作业(实际上是一个shell脚本).我想限制脚本执行时间,因为它可以工作不可接受的长时间.出于某种原因,我无法限制脚本内部的脚本执行时间.实际上,如果运行时间超过N小时,我希望我的系统强制终止任务.请指教.

shell cron cron-task

6
推荐指数
2
解决办法
5405
查看次数

Python脚本没有在调用pysaunter的crontab中运行

我已经阅读了多篇帖子和许多文章,详细说明了cron作业中的scipts需要保持在脚本本身内部运行所必需的环境变量,因为在cron中打开了shell.我的情况是独特的,因为我的路径变量都是按照讨论的方式设置的,这反过来会使用subprocess.call ()成功调用pysaunter python egg ,但它似乎从那里分解.这导致整个过程在cron作业中中断.

为清楚起见,以下是我所指的步骤:

1) cronjob calls run_test.py -n foo
2) run_test.py sets the environment variables correctly 
(cur_shell_path=sys.path (converted to proper path string, not shown here)
 my_env= os.environ.copy()
 my_env["PATH"] = my_env["PATH"] + cur_shell_path)
3) run_test.py calls subprocess.call("pysaunter -m foo -v", env=my_env, shell=True)
Run Code Online (Sandbox Code Playgroud)

步骤3的输出显示它正在找到egg并成功开始从pysaunter加载必要的模块,但是当它试图找到用于修改pysaunter的目录时它会中断.错误如下:

ImportError: no module named helpers
Run Code Online (Sandbox Code Playgroud)

我曾多次尝试将此路径添加到环境中,但它似乎永远不会找到包含helpers.py的目录.pysaunter -m foo -v从交互式shell调用时,该命令正常工作.

我在pysaunter上找不到多少帮助,所以我认为这里过多的pysaunter细节是不必要的.如果您了解更多有关pysaunter的信息,请告知我们您是否需要更多信息.我不知道该分享什么.

我还阅读了很多帖子,讨论了通过编辑.profile/.bash_profile来改变shell默认行为的能力.我试图找到一个可以使我的路径变量全局可访问的地方,但我找不到任何东西.我不确定这是怎么做的,它可以解决我的问题,所以如果你对此有所了解,请告诉我.

最后说明,这是在Mac 10.7.5上运行的.

python shell cron crontab cron-task

6
推荐指数
1
解决办法
2648
查看次数

如何检查Linux shell脚本是否由cronjob执行?

是否有可能确定Linux shell脚本是由用户还是cronjob执行的?

如果是,如果shell脚本由cronjob执行,我如何识别/检查?

我想在我的脚本中实现一个功能,它返回一些其他消息,就像它是由用户执行一样.像这样例如:

    if [[ "$type" == "cron" ]]; then
        echo "This was executed by a cronjob. It's an automated task.";
    else
        USERNAME="$(whoami)"
        echo "This was executed by a user. Hi ${USERNAME}, how are you?";
    fi
Run Code Online (Sandbox Code Playgroud)

shell cron cron-task

6
推荐指数
1
解决办法
791
查看次数

主管 VS CronJobs

我必须运行 laravel 命令php artisan queue:work --daemon来运行存储在 Beanstalkd 队列上的作业。

我遇到了两种可能的解决方案:

  • 使用 Supervisord 运行命令: Register a command in the config files of Supervisord and start it.
  • 使用 CronJobs 运行命令: */1 * * * * /usr/bin/php /var/www/laravelProj/artisan queue:work --daemon --tries=3

有人可以解释一下我应该走什么路以及最能提高性能的方法吗?

php cron cron-task supervisord laravel-4

6
推荐指数
1
解决办法
3069
查看次数

如果失败,Kotlin 重试计划的 cron 任务

我下面有一个 Kotlin 调度配置文件。它有一项重要任务计划在每周一上午 11 点运行。

如果服务在上午 11 点停止,我需要做什么来建立弹性或重试?

这些 Spring Boot 和 Kotlin@Scheduled作业是否可以配置为企业级弹性,或者我是否需要使用 Kubernetes CronJobs 之类的东西来实现这一目标?

我还在研究带有 JobStore 作为选项的 Spring Boot Quartz 调度程序。欢迎任何替代设置建议。

@Component
class CronConfig {

    private val logger = LoggerFactory.getLogger(CronConfig::class.java)

    // Run Monday morning @ 11am
    @Scheduled(cron = "0 0 11 * * MON")
    fun doSomething(){
        logger.info("Doing something")
    }
}
Run Code Online (Sandbox Code Playgroud)

cron spring cron-task kotlin spring-boot

6
推荐指数
1
解决办法
326
查看次数

wp_schedule_event 挂钩已计划但未工作

我正在尝试从我正在编写的 WordPress 插件触发 cron 作业(它将每天获取所有新产品并将它们导出为 CSV),所以问题是,当我将此代码放入functions.php 时,一切都工作得很好代码是有效的,但从插件文件夹中它已安排,我可以看到它(使用 Cron View 插件)但未执行。.我发现了另一个相同的问题,但没有答案..似乎它并没有真正被触发或者有什么东西阻止了它..看看我的代码..

function csv_init(){
add_action('my_hourly_event', 'Download_CSV_with_args');
}

function starthere(){
// some code here
    $file = $_SERVER['DOCUMENT_ROOT'].'/wp-content/csv_settings.php';
                            $content = serialize($args);
                            file_put_contents($file, $content);

                        wp_schedule_event( current_time( 'timestamp' ), 'hourly', 'my_hourly_event');

                            $schedule = wp_get_schedule( 'my_hourly_event' );
                            echo  wp_next_scheduled( 'my_hourly_event' ).'<br>';
                        if ($schedule){
                            echo '<h3>The "'.$schedule.'" Cron Job is running..</h3>';
                         }else {
                            echo '<h3>There are no Cron Jobs that running..</h3>';
                         }

}

function Download_CSV_with_args() {
        //execution of my code
}
Run Code Online (Sandbox Code Playgroud)

php wordpress cron cron-task

5
推荐指数
1
解决办法
3137
查看次数

动态更新nodejs cronjob周期

我需要在我的 nodejs 应用程序中定期执行一些任务。如果它是固定期限,那么它工作正常。但在我的情况下,周期应该动态变化。下面是我的代码,它没有按我的预期工作。这里 cronjob 没有更新我更改期间的期间。

var period = 1;
var CronJob = require('cron').CronJob;
new CronJob('*/' + period + ' * * * * *', function () {
    console.log("some task");
}, null, true, "Indian/Mauritius");


new CronJob('*/5 * * * * *', function () {
    period = period * 2;
    console.log("updating cronjob period");
}, null, true, "Indian/Mauritius");
Run Code Online (Sandbox Code Playgroud)

cron scheduled-tasks node.js cron-task

5
推荐指数
2
解决办法
8305
查看次数

使用 CRON 生成 Google Charts 图像并添加到 PDF

我希望能够生成 Google Charts 图像,这将通过 cron 作业完成。

首先,我了解 Google Charts 是一个在浏览器中运行的客户端库,因此您只能在浏览器中生成图表。而且,我正在使用 PHP 框架。

这就是我现在所处的位置:

  1. 首先,我完成了 PDF 的创建。使用 MPDF,我能够通过 cron 成功制作 PDF 格式的每日报告。

  2. 其次,我已经通过浏览器生成了服务器端 Google 图表作为图像 ,并将这些图像保存到文件夹中。我能够插入我想要添加的图表的图像。 https://developers.google.com/chart/interactive/docs/printing

但我想要的是生成图表图像的 cron 作业。设置 CRON,我想生成某个 Google 图表的图像。

这是我能找到的与我的问题相关的最接近的主题,但该线程没有答案:Using Google Charts API generated Graphic in FPDF

javascript php pdf google-visualization cron-task

5
推荐指数
0
解决办法
1171
查看次数

我的 crontabs 将在以下哪种情况下运行,什么时候不会运行?

初学者在这里。我有一些关于 mac / osx 上的 crontabs 的问题(如果有影响的话)。我想了解我的 crontab 在什么情况下会运行,什么时候不会运行。

确实知道这是真的:

  • 当我关闭计算机时,cronjob 将不会执行。

这是最容易的部分。但这些情况又如何呢:

  1. 终端未打开,但我已登录
  2. 机器正在运行,但我尚未登录
  3. cronjob 设置为上午 9 点,但我的计算机当时已关闭,我在上午 10 点打开并登录

什么时候有效,什么时候无效?

unix macos cron cron-task

5
推荐指数
1
解决办法
3817
查看次数

每天下午 5 点的 Cron 作业

我想每天 17:00 运行一个 cron 作业。哪一种是正确的格式?

0 17 * * * 或者 0 */17 * * *

或者它们都是一样的?请说出区别。

javascript cron schedule cron-task

5
推荐指数
1
解决办法
3542
查看次数