Comments (27)
[deleted comment]
from ncrontab.
Hi,
Do you have news about this issue ?
Indeed, I work on another open source project : Homidom, and I need to use
second in Cron expression. I will continue to use ncrontab which works very
well.
Thanks for your help,
Davidinfo
Original comment by davidinfo05
on 30 May 2013 at 1:10
from ncrontab.
There are no new features planned at this time. However, if someone wishes to
clone the repo and contribute a robust implementation together with unit tests
then I'd be happy to review it and consider another release.
Original comment by azizatif
on 30 May 2013 at 5:39
- Changed state: PatchesWelcome
- Added labels: Type-Enhancement
- Removed labels: Type-Defect
from ncrontab.
This project reflects the specification of cronjobs on *nix systems. Which does
not have seconds.
See : http://en.wikipedia.org/wiki/Cron
If you need second precision job scheduling, then perhaps you need something
else. For example, a background service executing periodically every n seconds.
Original comment by [email protected]
on 30 Oct 2013 at 6:49
from ncrontab.
[deleted comment]
from ncrontab.
I have cloned this repository and have created an implementation that handles
both six-part cron expressions and the traditional five-part expressions. It
is on the "SixPartCronExpressions" branch of
https://code.google.com/r/kfritz-ncrontab/source/browse/?name=SixPartCronExpress
ions.
azizatif, would you be interested in merging it in?
Original comment by [email protected]
on 13 Nov 2013 at 10:07
from ncrontab.
@kfritz Thanks for patch. Could you switch on code review in your clone through
its admin UI?
Original comment by azizatif
on 14 Nov 2013 at 9:05
from ncrontab.
Switched on, thanks. I am not very familiar with Google Code.
Original comment by [email protected]
on 15 Nov 2013 at 3:33
from ncrontab.
@kfritz Thanks. Have NCrontabConsole and NCrontabViewer been updated and tested
according? I built the solution and ran NCrontabViewer but could not get it to
accept a 6-part expression with seconds. If I get the time to dig deeper, I
drop in additional notes.
Original comment by azizatif
on 15 Nov 2013 at 6:59
from ncrontab.
@kfritz Here is what I am seeing:
C:\NCrontab>src\NCrontabConsole\bin\Debug\NCrontabConsole.exe "0 12 1 * mon"
2010-01-01 2011-01-01
01 February 2010 12:00
01 March 2010 12:00
01 November 2010 12:00
C:\NCrontab>src\NCrontabConsole\bin\Debug\NCrontabConsole.exe "30 0 12 1 * mon"
2010-01-01 2011-01-01
'30 0 12 1 * mon' is not a valid crontab expression. It must contain at least 5
components of a schedule (in the sequence of minutes, hours, days, months, days
of week).
Original comment by azizatif
on 15 Nov 2013 at 7:04
from ncrontab.
Ah, I was focused on updating the library and didn't take notice of the console
and viewer apps. It shouldn't be too hard, though; I'll take a look this
afternoon.
Original comment by [email protected]
on 15 Nov 2013 at 7:10
from ncrontab.
@azizatif, I am unable to reproduce the issues you are seeing with
NCrontabConsole. The arguments you demonstrated are working for me. I did,
however, push an updated error message. I also updated the Viewer app to show
the seconds component when using a six-part expression.
Original comment by [email protected]
on 15 Nov 2013 at 8:33
from ncrontab.
OK, the WinForms and Console apps are working (and thanks), but the latter is
not displaying the seconds component when a six-part expression is supplied:
C:\NCrontab>src\NCrontabConsole\bin\Debug\NCrontabConsole.exe "30 0 12 1 * mon"
2010-01-01 2011-01-01
01 February 2010 12:00
01 March 2010 12:00
01 November 2010 12:00
Original comment by azizatif
on 15 Nov 2013 at 11:57
- Added labels: Component-Logic
from ncrontab.
Yeah, the console app accepts a format as an argument, so I figured we should
just respect whatever format the user supplies.
Original comment by [email protected]
on 16 Nov 2013 at 4:54
from ncrontab.
The only trouble is that the following looks buggy (when it's not):
C:\NCrontab>src\NCrontabConsole\bin\Debug\NCrontabConsole.exe "15,30,45 0 12 1
* mon" 2010-01-01 2011-01-01
01 February 2010 12:00
01 February 2010 12:00
01 February 2010 12:00
01 March 2010 12:00
01 March 2010 12:00
01 March 2010 12:00
01 November 2010 12:00
01 November 2010 12:00
01 November 2010 12:00
Original comment by azizatif
on 16 Nov 2013 at 8:46
from ncrontab.
Should we just change the default format to "F" and always show seconds, then?
Or, do you want the default to change based on what expression comes in? I
favor the former as it is probably best to avoid doing more parsing outside the
core library.
Original comment by [email protected]
on 18 Nov 2013 at 2:59
from ncrontab.
Looks like that the console was designed to take a 4th argument that specifies
the format of the output date/time occurrences. Unfortunately, due to a bug,
supply the argument would cause an error. I've attached the fix. With it, the
following now works:
C:\NCrontab>src\NCrontabConsole\bin\Debug\NCrontabConsole "15,30,45 0 12 1 *
mon" 2010-01-01 2011-01-01 F
01 February 2010 12:00:15
01 February 2010 12:00:30
01 February 2010 12:00:45
01 March 2010 12:00:15
01 March 2010 12:00:30
01 March 2010 12:00:45
01 November 2010 12:00:15
01 November 2010 12:00:30
01 November 2010 12:00:45
C:\NCrontab>src\NCrontabConsole\bin\Debug\NCrontabConsole "15,30,45 0 12 1 *
mon" 2010-01-01 2011-01-01 "yyyy-MM-dd HH:mm:ss"
2010-02-01 12:00:15
2010-02-01 12:00:30
2010-02-01 12:00:45
2010-03-01 12:00:15
2010-03-01 12:00:30
2010-03-01 12:00:45
2010-11-01 12:00:15
2010-11-01 12:00:30
2010-11-01 12:00:45
I don't think we need to make any further changes with regard to the console
app.
Original comment by azizatif
on 19 Nov 2013 at 7:43
- Changed state: Started
Attachments:
from ncrontab.
Patch from comment 17 now applied in changeset
1a62a629d1b93e1ddac2083b33718e0df432fe50
Original comment by azizatif
on 19 Nov 2013 at 9:29
from ncrontab.
@kfritz I think the last decision that remains with respect to concluding this
issue is whether seconds should be optional or mandatory. Beyond the
traditional 5 field syntax, there are some implementations supporting 6 or 7
with 6th including seconds and the 7th being the year. In the extended cases, 5
fields are not allowed, making seconds mandatory. Yet another implementation
allows fields of higher resolution to be omitted but seconds are always
required. It's worth keeping these variations in mind so NCrontab does not
introduce an ambiguity in the future. Suppose the year field is added in a
future version. At that point, does 6 fields include second or year?
Perhaps there needs to be a classic vs extended mode distinction. In the
extended mode, seconds must be required. In the classic mode, it should be
illegal to specify anything but 5 fields. A user must choose between classic
and extended mode for his/her app.
Original comment by azizatif
on 19 Nov 2013 at 9:49
from ncrontab.
If you were to add the year component, I would side for making the seconds a
required field. Allowing both the lowest resolution fields and highest
resolution fields to be optional would introduce a mess of problems. I defer
to your judgement as the project maintainer.
Original comment by [email protected]
on 19 Nov 2013 at 10:02
from ncrontab.
I'm not planning to add the year field but don't want to preclude the option in
a future version. As a result, the seconds should be required in the
non-classic mode so the patch still needs some work.
Original comment by azizatif
on 20 Nov 2013 at 7:36
from ncrontab.
Original comment by azizatif
on 10 Dec 2013 at 7:13
- Added labels: Milestone-Release2.0
from ncrontab.
Closed by change set 7492e5d4f4cc5007f752160585b5ab3a7d302075
Original comment by azizatif
on 11 Dec 2013 at 6:25
- Changed state: Fixed
from ncrontab.
@azizatif, do you have plans to release the next version with this change?
Original comment by [email protected]
on 18 Aug 2014 at 10:42
from ncrontab.
@odinserj No promises but but I'll do my to make a release this week.
Original comment by azizatif
on 18 Aug 2014 at 11:35
from ncrontab.
@odinserj NCrontab 2.0 has been released on NuGet:
http://www.nuget.org/packages/ncrontab/2.0.0
Original comment by azizatif
on 18 Aug 2014 at 8:38
from ncrontab.
Hi I installed Crontab 2.0 and trying to use with Hangfire, but it still throws
an error when I use the 6 part cron expression.
Original comment by [email protected]
on 15 Jan 2015 at 5:56
from ncrontab.
Related Issues (8)
- Culture Issue HOT 4
- Unit test CrontabScheduleTests.DontLoopIndefinitely fails, TimeCron method contains error HOT 4
- Expression not matching when expected HOT 1
- DontLoppIndefinitely unittest fails HOT 2
- Method NCrontabViewer.MainForm.Diff does not work with DateTime-Strings of specific locales HOT 3
- Discrepancy between weekday expression "Sun-Sat" and "Mon-Sun" HOT 2
- Strong-name assembly HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ncrontab.