\u003C/a> via \u003Ccode>npm install schyntax\u003C/code>.\n\n{% highlight javascript %}\nvar schyntax = require('schyntax');\n\nvar sch = schyntax('min(*%2)'); // create Schedule object\nvar events = [];\nvar d = new Date(); // start from right now\nfor (var i = 0; i < 5; i++) {\nd = sch.next(d); // get next event time after the \u003Ccode>d\u003C/code> Date argument\nevents.push(d);\n}\n{% endhighlight %}\n\n\u003Ch4>C# .NET\u003C/h4>\n\nSchyntax for .NET is available on nuget.org. \u003Ca href=\"http://badge.fury.io/nu/Schyntax\">\u003Cimg src=\"http://stackoverflow.blog/wp-content/uploads/2017/02/Schyntax.svg\" alt=\"NuGet version\" />\u003C/a>\n\n{% highlight csharp %}\nusing Schyntax;\n\nvar sch = new Schedule(\"min(*%2)\"); // create Schedule object\nvar events = new List();\nvar d = DateTimeOffset.UtcNow; // start from right now\nfor (var i = 0; i < 5; i++)\n{\nd = sch.Next(d); // get next event time after the \u003Ccode>d\u003C/code> Date argument\nevents.Add(d);\n}\n{% endhighlight %}\n\n→ \u003Cstrong>goto\u003C/strong>: \u003Ca href=\"http://bret.codes/schyntax-part-2\">In Part 2, we'll use a scheduled task runner to put schyntax to work.\u003C/a>. We'll also look at how my team at Stack Overflow is using it to improve consistency in our scheduled tasks.","html","2015-08-21T12:00:00.000Z",{"current":799},"a-better-syntax-for-scheduled-tasks",[801],{"_createdAt":802,"_id":803,"_rev":804,"_type":805,"_updatedAt":802,"slug":806,"title":808},"2023-05-23T16:43:21Z","wp-tagcat-engineering","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":807},"engineering","Engineering","A Better Syntax for Scheduled Tasks",[811,817,823,829],{"_id":812,"publishedAt":813,"slug":814,"sponsored":12,"title":816},"370eca08-3da8-4a13-b71e-5ab04e7d1f8b","2025-08-28T16:00:00.000Z",{"_type":10,"current":815},"moving-the-public-stack-overflow-sites-to-the-cloud-part-1","Moving the public Stack Overflow sites to the cloud: Part 1",{"_id":818,"publishedAt":819,"slug":820,"sponsored":788,"title":822},"e10457b6-a9f6-4aa9-90f2-d9e04eb77b7c","2025-08-27T04:40:00.000Z",{"_type":10,"current":821},"from-punch-cards-to-prompts-a-history-of-how-software-got-better","From punch cards to prompts: a history of how software got better",{"_id":824,"publishedAt":825,"slug":826,"sponsored":12,"title":828},"65472515-0b62-40d1-8b79-a62bdd2f508a","2025-08-25T16:00:00.000Z",{"_type":10,"current":827},"making-continuous-learning-work-at-work","Making continuous learning work at work",{"_id":830,"publishedAt":831,"slug":832,"sponsored":12,"title":834},"1b0bdf8c-5558-4631-80ca-40cb8e54b571","2025-08-21T14:00:25.054Z",{"_type":10,"current":833},"research-roadmap-update-august-2025","Research roadmap update, August 2025",{"count":520,"lastTimestamp":836},"2023-05-25T09:45:54Z",["Reactive",838],{"$sarticleModal":839},false,["Set"],["ShallowReactive",842],{"sanity-6nyDHPFcMmC1bp2n-_7j5yifxBz8chS1iNQSzcNTkKc":-1,"sanity-comment-wp-post-5147-1756582114820":-1},"/2015/08/21/a-better-syntax-for-scheduled-tasks"]