标签: scheduling

在中断中获取 current->pid

我正在 linux 调度程序上写一些东西,我需要知道在我的中断进来之前哪个进程正在运行..当前的结构是否可用?如果我在中断处理程序中执行 current->pid ,我是否可以获得我中断的进程的 pid?

linux kernel scheduling linux-kernel interrupt-handling

3
推荐指数
1
解决办法
2304
查看次数

内核调度代码(linux)中struct rq在哪里??/

作为作业的一部分,我必须修改linux的调度策略。我的是3.4.11。我一直在编程,但是经过一番努力,一直没能找到struct rq。通过观察代码,我创建了 struct rq 可能作为成员的变量列表。我在 lxr.linux.no 中查找过,但没有找到任何相关结果。这个结构体rq在哪里?

linux struct scheduling

3
推荐指数
1
解决办法
2865
查看次数

什么是调度程序延迟?

这似乎是一个基本问题,但我在谷歌搜索中找不到任何答案。

据我所知,调度程序延迟是使任务再次可运行所花费的时间。我的意思是,如果有 100 个进程,即 1、2 等,那么它们将按照从 1 开始的顺序执行。所以延迟是进程 1 再次执行的时间。这意味着延迟是进程的等待时间以及它在运行队列中准备执行时的等待时间。

或者

我误解了整点,调度器延迟只是进程之间的上下文切换时间?

operating-system scheduling scheduler multitasking

3
推荐指数
1
解决办法
3403
查看次数

如何在本地主机窗口中测试我的 cron 作业?(laravel 5.3)

我通过像这样编辑 app\Console\Kernel.php 在 laravel 5.3 上创建了一个 cron 作业:

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use DB;

class Kernel extends ConsoleKernel
{
    protected $commands = [
        //
    ];

    protected function schedule(Schedule $schedule)
    {
        $schedule->call(function () {
            $id = 1;
            DB::table('orders')
              ->where('id', $id)
              ->update(['status ' => 2, 'canceled_at' => date("Y-m-d H:i:s")]);
        })->everyMinute();
    }

    protected function commands()
    {
        require base_path('routes/console.php');
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图检查数据库中的表,但它没有更新

如何测试我的 cron 工作?

php cron scheduling laravel laravel-5.3

3
推荐指数
2
解决办法
1万
查看次数

抢占式和非抢占式内核 VS 抢占式和非抢占式调度

我正在努力理解抢占式和非抢占式内核以及抢占式和非抢占式调度之间的区别。

来自操作系统概念(第九版),Silberschatz、Galvin 和 Gagne:

抢占式内核是其中内核允许被删除的方法和它在内核模式下运行的同时替换。

一个非抢占内核不允许在内核模式下运行的进程被抢占; 内核模式进程将一直运行,直到它退出内核模式、阻塞或自愿放弃对 CPU 的控制。

非抢占式调度下,一旦将 CPU 分配给进程,该进程就会保留 CPU,直到它通过终止或切换到等待状态来释放 CPU。- 在我看来,这与非抢先内核的描述完全相同。

抢占式调度发生在这两种情况下(来自同一本书):

  1. *当一个进程从运行状态切换到就绪状态时(例如发生中断时)

  2. 当进程从等待状态切换到就绪状态时(例如,在 I/O 完成时)*

这本书只是说在这种情况下有一个选择,我不确定这个选择是什么。是选择是否可以继续运行就绪队列中的同一进程,还是可以选择运行就绪队列中的不同进程?

基本上,我正在寻找对这 4 个术语的明确说明。

谢谢!

operating-system kernel scheduling preemptive

3
推荐指数
1
解决办法
7027
查看次数

Python 脚本计划在每个月的第 1 天凌晨 2:00 运行

我有一个每 30 分钟运行一次的脚本,但有一个部分我只想在每月第一天的凌晨 2:00 运行。我schedule在 Python 中使用,但我不知道如何为该月的第 1 天设置它。

month似乎没有在定义的参数中schedule做类似的事情schedule.every().month.at("02:00").do(job2)

有什么建议?我正在使用 python 2.7

简化代码:

from safe_schedule import SafeScheduler
import time

def job():
    print "I'm working...",
    return

def scheduler():
    # Schedule every30min routines
    print 'Starting Scheduler'
    scheduler = SafeScheduler()
    scheduler.every(30).minutes.do(job)
    #scheduler.every().month.at("02:00").do(job2)

    while True:
        scheduler.run_pending()
        time.sleep(1)


if __name__ == '__main__':
     scheduler()
Run Code Online (Sandbox Code Playgroud)

python scheduling python-2.7

3
推荐指数
1
解决办法
5226
查看次数

有条件的房间分配和调度任务——优化算法

我需要找到一种合适的方法作为基础,用于开发执行以下操作的优化算法:

假设我们有 N 个任务要做,我们有 M 个房间,每个房间都包含一些特定数量的基础设施/条件。每项任务都需要使用具有适合任务条件的房间。

例如,为了完成任务 A,我们需要使用水龙头和煤气管道,所以我们只能使用包含这些的房间。

此外,对于每项任务,我们都有一个预定义的截止日期。

我希望我已经解释得足够好。

所以,我需要开发一种算法,可以在适当的调度中为每个房间分配任务,这样我就可以在最短的总时间和不超过截止时间的情况下完成所有任务(如果超过是不可避免的,那么得到最少的最糟糕的答案)。

我可以基于哪些现有方法或算法并从中学习?我虽然关于“工作坊”,但我想知道是否有其他合适的算法可以处理这样的问题。

algorithm optimization scheduling linear-programming

3
推荐指数
1
解决办法
327
查看次数

循环分配实施(数据库)

我目前正在为SalesLead< - > SalesPerson情况实施许多不同的分配算法.一般的想法很简单:

  1. 一个SalesLead公共网站上签约

  2. 代码自动分配SalesLeadSalesPerson使用循环调度(Leads SalesPersons按相同顺序分配)

我有一些严重的编码器阻止如何实际执行此操作,以确保每次都以相同的顺序从数据库中提取代理,并使用另一个表来存储分配了SalesLead的最后一个代理(可能实际上对于构建报告非常有用,或者至少在以后使用回溯方法.我离开基地了吗?

澄清: 该代码目前与销售人员不匹配.这是一个全新的功能.目前,他们可以注册特定的SalesPerson,但我们希望能够自动分配它们.

database scheduling round-robin

2
推荐指数
1
解决办法
2552
查看次数

如何在特定时间每天解雇akka调度程序?

我创建了一个Akka的调度程序,每天发送邮件一段固定的时间(例如每天早上6点).那么如何调用演员呢?我的意思是我应该使用什么逻辑?谢谢.

scheduling scheduler quartz-scheduler job-scheduling akka

2
推荐指数
1
解决办法
2700
查看次数

如何在Linux centos中安排shell脚本?

我有一个脚本,我需要每天安排.如何在centos中安排脚本.就像我想在每天上午10点运行该脚本一样,我可以将脚本的输出存储在日志文件中.

怎么做到这一点?

谢谢

linux shell scheduling

2
推荐指数
1
解决办法
7397
查看次数