当前位置: 首页 > 软件库 > 云计算 > Serverless 系统 >

post-scheduler

授权协议 Readme
开发语言 JavaScript
所属分类 云计算、 Serverless 系统
软件类型 开源软件
地区 不详
投 递 者 米修平
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Static Site Post Scheduler

The post scheduler is a serverless project that gives static site owners the ability to schedule posts (or other site content).

It works with any static site setup (Jekyll, Hugo, Phenomic, Gatsby etc.)

Video demo

How does it work?

  1. A github webhook fires when pull requests (aka new posts) are updated.

  2. If the pull request comment has a comment matching schedule(MM/DD/YYYY H:MM pm) and the person is a collaborator on the project, the post gets scheduled for you.

  3. A serverless cron job runs every hour to check if a post is ready to be published

  4. When the post is ready to be published, the cron function automatically merges the branch into master and your site, if you have CI/CD built in, will redeploy itself.

To cancel scheduled posts, delete the scheduled comment and it will unschedule the branch.

Github Webhook Architecture Overview

cloudcraft - post scheduler webhook

Cron Job Architecture Overview

cloudcraft - post scheduler cron setup

Install Instructions

You will need the serverless framework installed and an AWS account configured on your computer to deploy this for your repo.

npm install serverless -g

Then watch the scheduler setup and usage videos or follow the instructions below.

  1. Clone down the repository and run npm install to instal the dependencies

  2. Duplicate config.prod.example.json into a new file called config.prod.json and insert your Github username, API token, and webhook secret

// config.prod.json
{
  "serviceName": "blog-scheduler",
  "region": "us-west-2",
  "TIMEZONE": "America/Los_Angeles",
  "CRON": "cron(0 * * * ? *)",
  "GITHUB_REPO": "serverless/blog",
  "GITHUB_WEBHOOK_SECRET": "YOUR_GITHUB_WEBHOOK_SECRET_HERE",
  "GITHUB_API_TOKEN": "YOUR_GITHUB_API_TOKEN_HERE",
  "GITHUB_USERNAME": "YOUR_GITHUB_USERNAME_HERE"
}
  • serviceName - name of the service that will appear in your AWS account
  • region - AWS region to deploy the functions and database in
  • TIMEZONE - Timezone the cron runs on. See timezone.json for available options
  • CRON - How often you want to check for scheduled posts? See the AWS cron docs or serverless schedule docs for more information. Default: every hour on the hour
  • GITHUB_REPO - The owner/repoName of your repository
  • GITHUB_WEBHOOK_SECRET - Any string you want. This gets plugged into your webhook settings
  • GITHUB_API_TOKEN - Personal access token. See below for additonal info
  • GITHUB_USERNAME - Your github username. Used for requests to github
  1. Deploy the service with serverless deploy. If you need to setup serverless, please see these install instructions.

  2. Take the POST endpoint returned from deploy and plug it into your repositories settings in github

image

  1. Add your github webhook listener URL into the Payload URL and choose type application/json

  2. Plugin your GITHUB_WEBHOOK_SECRET defined in your config file

  3. Select which github events will trigger your webhook

  4. Select Issue comments, these will be where you insert schedule(MM/DD/YYYY H:MM pm) comments in a given PR

  5. Submit a PR and give it a go!

Contributions Welcome

Have an idea on how we can improve the static site post scheduler?

Submit a PR, post an issue or tweet @DavidWells

  • 返回总目录 描述 详细 查看cinder-scheduler日志 cinder-scheduler 执行调度算法,通过 Filter 和 Weigher 挑选最优的存储节点。cinder-scheduler 通过 Flow volume_create_scheduler 执行调度工作。 1 2 3 4 5 Jun 11 16:51:14 controller cinder-scheduler[29

  • support-scheduler是主要是EDGEX系统中的提醒服务,support-scheduler使用介绍如下,他有2个启动参数可以配置: registry是一个bool量,True表示support-scheduler的配置参数是从consul拉取,False表示从本地配置文件载入。 profile本地配置文件的路径, 即便registry=True, 该参数也必须要指明一个配置文件,因为

  • 同时发布于: http://leiqzhang.com/2014/01/2014-01-09-nova-scheduler-service-initialization/ NOVA-SCHEDULER服务启动流程 前提 对Nova的整体结构已经有所理解 基于stable/havana分支 基于Redhat的RDO库进行的环境安装,基于CentOS 6.4 主机名为controller 内容 ope

  • Spark-scheduler @(spark)[scheduler] Task /**

  • 在完成solr定时增量的时候 启动时报了如下的错误: solrError错误 出现jar包的错误,这个是因为开发人员久远没有维护apache-solr-dataimportscheduler-1.0.jar但是solr.jar包在变化更新,故我在网上找很久apache-solr-dataimportscheduler-1.0.jar和更新后的solr-dataimportscheduler-1.1

  • 【vue3源码】六、scheduler scheduler即调度器是vue3中比较重要的一个概念。通过scheduler进行调度任务(job),保证了vue中相关API及生命周期函数、组件渲染顺序的正确性。 我们知道,使用watchEffect进行侦听数据源时,侦听器将会在组件渲染之前执行;watchSyncEffect进行侦听数据源时,侦听器在依赖发生变化后立即执行;而watchPostEffe

 相关资料
  • POST将数据发送到服务器。请求主体的类型由Content-Type标题指示。 PUT和POST之间的差PUT和POST是,PUT是幂等:调用它一次或多次连续具有相同的效果(也就是没有侧面的效果),在那里连续的相同的POST可具有额外的效果,如通过顺序数次。 POST请求经由通常发送 HTML 形式在服务器上的变化和结果。在这种情况下,内容类型是通过将适当的字符串在所选enctype的属性的<fo

  • 我在$_post中遇到了一些问题,我想获得服务器发送的数据服务器发送?additionaldata.Cardholdername=test&additionaldata.Cardbin=123456 HTTP Post 以下是有关服务器发送内容的一些信息https://docs.adyen.com/developers/api-manual#notificationfields

  • 问题内容: 我正在尝试使用POST方法编写XMLHttpRequest。我过去已经使用GET方法设法使用XMLHttpRequest,但是在POST方面却很挣扎。 这是我的代码: 它基本上调用PHP脚本,然后将一些信息添加到数据库中。 问题答案: 好吧,我已经设法对它进行了排序。 奇怪的原因虽然可能与沙箱安全性有关,但是我没有使用完整的URL地址,而是使用了文件的相对路径,现在可以使用了。 谢谢大

  • 问题内容: 我正在尝试使用$ .post方法调用Web服务,我已经使用$ .ajax方法使它工作了: 但是,当我将相同的方法移到$ .post方法中时,它将无法工作: 我想念什么? 问题答案: 它不起作用,因为在您的方法中,您无法将请求的内容类型设置为。因此,不可能使用调用ASP.NET PageMethod,因为ASP.NET PageMethod需要JSON请求。您将不得不使用。 我将只修改,

  • BeanPostProcessor接口定义了您可以实现的回调方法,以提供您自己的实例化逻辑,依赖关系解析逻辑等。您还可以在Spring容器通过插入一个或多个实例化实例化,配置和初始化bean之后实现一些自定义逻辑BeanPostProcessor实现。 您可以配置多个BeanPostProcessor接口,并且您可以通过设置order属性来控制这些BeanPostProcessor接口的执行ord

  • <?php $requestBody = array( 'lang' => 'php', 'ver' => 'any' ); $http = HttpRequest::newSession(); $response = $http->post('http://www.baidu.com/', $requestBody);