Omnioutliner replacement for time estimation in windows - estimation

I used to use OmniOutliner to do quick time estimates but as it is mac only I need a windows replacement for work.
Here's my use case:
I want to be able to break down my projects into sub-tasks with work hour estimates that can be rolled up to each parent in the hierarchy. (the bold italic font indicates a calculated field).
total ***42h***
task 1 ***23h***
subtask 1.1 3h
subtask 1.2 20h
task 2 ***19h***
subtask 2.1 16h
subtask 2.2 ***3h***
subtask 2.2.1 3h
Any suggestions?

Related

Scheduling events with Netlogo time extension - ongoing bug with model running before scheduled event?

trying to run a scheduled event with the time extension. Procedure happens with patients/turtles entering at slow rate then rate increases for a few hours before returning. Can't get past this error:
Extension exception: Attempted to schedule an event for tick 168.0 which is
before the present 'moment' of 219.00864034561383
error while patch -10 -10 running TIME:SCHEDULE-REPEATING-EVENT-WITH-PERIOD
to even test the rest of it. I found someone with the same problem 3 yrs ago but no fix or update found either here or GitHub.
Discrete Event Scheduling in NetLogo: Executing some command on some specific tick
Anyone have another source for problem-solving this one or is there another question/answers addressing this? If not I'll post on the GitHub page for creator advice.
to patients-arrive
ask patch -10 -10
[sprout-patients random-poisson 0.0000001
[set shape "person"
set time_arrived ticks
set condition random-float 1.0
set los 0
set complete? false
move-to one-of arrivals
]]
time:schedule-repeating-event-with-period patch -10 -10 [
[] ->
sprout-patients random-poisson 0.1
[set shape "person"
set time_arrived ticks
set condition random-float 1.0
set los 0
set complete? false
move-to one-of arrivals
]]
peak-start 24.0 "hours"
time:go-until time:plus tick-datetime 6.0 "hour"
end
peak-start is set at 168 ticks
was looking up another time extension feature and and found a very helpful comment from Railsback to the effect that current versions of Netlogo (version 6) are not compatible with scheduling events. so that solves that I guess.
if I hear there is compatibility I will post again

spring batch: alert with grafana & prometheus if a job failed in the last xx minutes

I am using spring batch (4.2.2.RELEASE) together with the spring actuator (2.2.6 RELEASE). Since version 4.2, spring batch provides support for batch monitoring and metrics based on micrometer (https://docs.spring.io/spring-batch/docs/4.2.x/reference/html/monitoring-and-metrics.html).
For example i am able to see with the metric name spring_batch_job how often a job was executed, its status and duration.
I want to monitor this metric with grafana & prometheus and alert if a job failed in the last xx minutes.
If the spring batch application runs as a service it seems that it sums up all the metrics until the service is stopped. For example if a job was started 12 times in the last hour the metrics output could be the following:
spring_batch_job_seconds_count{name="mainJob",status="COMPLETED",} 10.0
spring_batch_job_seconds_sum{name="mainJob",status="COMPLETED",} 354.354538083
spring_batch_job_seconds_count{name="mainJob",status="FAILED",} 2.0
spring_batch_job_seconds_sum{name="mainJob",status="FAILED",} 0.880157862
So two instances of the mainJob failed. Assumed in the next hour all 12 jobs will be successful, the metrics output would be:
spring_batch_job_seconds_count{name="mainJob",status="COMPLETED",} 22.0
spring_batch_job_seconds_sum{name="mainJob",status="COMPLETED",} 708.704538083
spring_batch_job_seconds_count{name="mainJob",status="FAILED",} 2.0
spring_batch_job_seconds_sum{name="mainJob",status="FAILED",} 0.880157862
How am i able to check if a job failed in the last xx minutes? Because the following expression would still return the two failed job instances: spring_batch_job_seconds_count{status="FAILED"}[15m]
I'm not familiar with Prometheus QL but I will try to help.
What you can do is to calculate the difference of this counter between the last hour and the hour before. If you see an increase in the number of failed instances, then at least one instance has failed and you can raise an alert. Otherwise, no job has failed in the previous hour.
Prometheus provides the increase function that is designed specifically for that. So you should be able to answer your question and raise an alert when:
increase(spring_batch_job_seconds_count{name="mainJob",status="FAILED"}[15m]) > 0
As I said, I'm not expert at Prometheus, so I will let you check the syntax. But that's the idea.

how can I suppress OMP warnings #96 Cannot form a team

I have a pipeline that processes 1000 images. Each image goes through a 4 step process to create input for a model. So there are 4000 data preparation tasks plus a final prediction task. Total 4001 tasks.
The 4000 data preparation tasks are parallelised by luigi so 4 tasks run at once on 4 cpus. For this I set OMP_THREAD_LIMIT=1 otherwise it hangs due to a conflict between luigi and OMP.
The final prediction task uses pytorch. This is a single luigi task but is parallelised by pytorch via OMP. So I reset OMP_THREAD_LIMIT before starting the task.
This works but during the first 4000 tasks I get hundreds/thousands of warning messages....."OMP: Warning #96 Cannot form a team with 4 threads using 1 instead" and "OMP: Hint consider unsetting......OMP_THREAD_LIMIT".
How do I disable these messages? Or is there some other way to temporarily disable OMP without OMP_THREAD_LIMIT?

How can we schedule nifi data flow ? I'm using HDP 2.5

I want to schedule data flow in daily base through nifi.
For Example,
I need to run schedule on 9.00 AM in every morning.
Can anyone tell me what is procedure to make schedule data flow
There are three scheduling strategy available, see below details
Timer driven: This is the default mode. The Processor will be scheduled to run on a regular interval. The interval at which the Processor is run is defined by the ‘Run schedule’ option (see below).
Event driven: When this mode is selected, the Processor will be triggered to run by an event, and that event occurs when FlowFiles enter Connections feeding this Processor. This mode is currently considered experimental and is not supported by all Processors. When this mode is selected, the ‘Run schedule’ option is not configurable, as the Processor is not triggered to run periodically but as the result of an event. Additionally, this is the only mode for which the ‘Concurrent tasks’ option can be set to 0. In this case, the number of threads is limited only by the size of the Event-Driven Thread Pool that the administrator has configured.
CRON driven: When using the CRON driven scheduling mode, the Processor is scheduled to run periodically, similar to the Timer driven scheduling mode. However, the CRON driven mode provides significantly more flexibility at the expense of increasing the complexity of the configuration. The CRON driven scheduling value is a string of six required fields and one optional field, each separated by a space.
You typically specify values one of the following ways:
Number: Specify one or more valid value. You can enter more than one value using a comma-separated list.
Range: Specify a range using the - syntax.
Increment: Specify an increment using / syntax. For example, in the Minutes field, 0/15 indicates the minutes 0, 15, 30, and 45.
You should also be aware of several valid special characters:
* — Indicates that all values are valid for that field.
?  — Indicates that no specific value is specified. This special character is valid in the Days of Month and Days of Week field.
L  — You can append L to one of the Day of Week values, to specify the last occurrence of this day in the month. For example, 1L indicates the last Sunday of the month.
For example:
The string 0 0 13 * * ? indicates that you want to schedule the processor to run at 1:00 PM every day.
The string 0 20 14 ? * MON-FRI indicates that you want to schedule the processor to run at 2:20 PM every Monday through Friday.
The string 0 15 10 ? * 6L 2011-2017 indicates that you want to schedule the processor to run at 10:15 AM, on the last Friday of every month, between 2011 and 2017.
For your schedule time should be like below;
0109*?** - this meaning every 1 seconds 09 minutes is morning 9 AM other * fields run every day and month.
I hope it helps you!!!
Scheduling Strategy: CRON driven
Run Schedule: 0 0 9 * * ? *

Run is slow between components in Test Lab

I'm using UFT/BPT for API and GUI Testing, everything works fine, I have business components which are in flows which are used in Business-Process, I run the Business-Process from Test Lab - ALM, here I have a problem with big times on runs.
EX: Business-Process Test
Component 1:
Start: 18:17:48
End: 18:17:48
Component 2:
Start: 18:18:00
End: 18:18:01
Component 3:
Start: 18:18:12
End: 18:18:13
Component 4:
Start: 18:18:24
End: 18:18:24
Conclusion:
After Component 1 it's ended and Component 2 it's started are 12 seconds between.
Component 2 and Component 3: 11 seconds
Component 3 and component 4: 11 seconds
Why it's stay so much between components?
Experiencing the same starting with UFT 15+, I got the official reply that since the new version has sooo many new powerful features it is to be considered normal for some things to take more time with the new version.
Which of course is not a good reply, but that´s what I have been officially told by my support source.
So if you have a short test calling 10 components which all need 2 seconds to do their job, you used to execute such test in 10*2=20 seconds, and now it will take 10*2+20*10=220 seconds. For that additional 0 (from 20 to about 200 seconds), you get absolutely nothing in return. Great deal? Oooookay...
I think this should be fixed, naturally. There is no good reason why calling a component should have an oberhead of 9-15 seconds (SECONDS!).
But what can you do if you are using standard software packages that get messed up by the devs over the years? You can waste your time with support, but you will achieve nothing. So what can you do?
Nothing, except for migrating elsewhere :(
And I think it´s a shame. I wish SO user Motti (ex-UFT dev) would see this and clarify, but, well, he cannot be everywhere :)

Resources