且听疯吟如此生活三十年
Qzzz

Windows 的计划任务功能不够用,于是试着写了个支持插件和动态加载的定时执行任务工具 Qzzz,暂时是个坑…

Qzzz

A scheduler app for windows.

How to use

  • Run as a windows service

    Use Install.bat to install the QzzzService
  • Run as a console

    Run Qzzz.exe and do not close the console.

Create a plugin

  • create a config file qzzz.json

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    {
    "Id": "323ADBF530C4307B336C670B3F5BD229",
    "Name": "ToastPluginDemo",
    "Version": "1.0",
    "Description": "Toast plugin demo",
    "CronExpression": "*/15 * * * * ?",
    "StartAt": "2014-06-01 00:00:00",
    "EndAt": "2014-07-01 00:01:00",
    "PluginFileName": "Qzzz.ToastPluginDemo.dll",
    "Author": "caoyue",
    "Url": "https://github.com/caoyue/Qzzz"
    }
    • Id should be a guid string
    • CronExpression is a Quartz Cron Expression, a little different from *nix
    • StartAt and EndAt is optional
  • Create a CSharp library project

  • Add Qzzz.Plugin.dll to the references

  • Implement IPlugin interface

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class SimplePlugin : IPlugin
    {
    public void Execute(PluginContext pluginContext)
    {
    // do your job here...
    }

    public bool Pause(PluginContext pluginContext)
    {
    // pause job while the return is true...
    }
    }
    • You can find a demo in Plugins\Qzzz.SimplePluginDemo
    • Add Qzzz.Toast.dll to use toast notification on windows 8/8.1, like Plugins\Qzzz.ToastPluginDemo
  • Build your project and copy the plugin folder to Qzzz\Plugins