BPMN 2.0 Repeat Activity on a Fixed Date - bpmn

I have a question related on example:
We have an activity X which has to be executed every 10th day of the month and produce a report as output. How do I build a BPMN model to reflect this?

The answer here really depends on what BPM tool you are using and the defined capabilities of that tool. Generally, you would create a process with a timed start event such that the process only initiates every 10th day of the month. Then, activity X would execute, it builds a report, and finally outputs that report as the process output.
If a start event that can recognize the 10th day of the month is not available, I would create that same process, but instead give it a message start event. Then, I would create a separate process that runs daily. In this process, I would simply check if the current date is the 10th day of the month. If so, fire a message to kick off that first process. If not, end.

Related

How can I have RabbitMQ run just once on first message send?

I'm really new to Rabbit and I am not sure how to search for the exact terms related to this question or what is the best way to execute this
I have a task that gets called when a user reaches a page. I just want that page to get run one time for that day. If more people reach that page, then the task is not executed since it already did. If no one ever goes to that page, then the task is never run.
Can someone please kindly point me to a direction as to what I should be looking for?
You can store a key in Redis (or any other db) and set it's value with timestamp of the last running task: in each page view you will check that value and compare it to the current timestamp; if it refer to the same day, ignore. If it older than current day, update the value and trigger your task.
If your task consume too much time you can wrap it with a simple small webserver (flash/bottle/..) and your original trigger only http request..

BPMN: multiple timer start event leading to single event

What's the proper way to model a multiple timer start event that would lead to single/similar event?
For example: a BPMN for an evaluation process in a company, there's annual evaluation for regular employees (1st timer start event) and there's an evaluation a month upon hiring for newly hired employees (2nd timer start event). Both timer would then lead to the same following event because the process for evaluation, regardless of type of employee, is the same (for this example).
This is what i had in mind, but i'm not sure if this is proper or right at all.
I think an issue with your process design is that one and only one process instance will be created each month and each year.
If my understanding is correct you want to create one instance each year for each employee and one each month for new comers.
What I suggest is to have two process definitions (one for annual and one for monthly evaluation) both using a call activity to instantiate a shared evaluation process.
The Annual evaluation process can use a parallel multi-instantiated call activity to create one evaluation process instance per employee.
The Monthly review process need to be manually started (or be part of an HR process) for each employee and have a loop design to trigger the evaluation process twelve times. I use a timer event to pause for a month between each iteration.
I designed the process with Bonita BPM 7.1.5 Community edition. So if you want you can get the process definition.

Schedule SSRS task

I want to schedule two reports, one report to be triggered on the last working day of the month. Another report to be triggered on the first workday of the each month. How can I do this?
There are currently no ways to do this through the standard subscription mechanism.
Your requirements are not only conflicting with the UI (the ReportServer website), but with the Reporting Services database design. You can take a look at the Schedules table to see what I mean.
There are 3 things you could do:
Fast & Risky, not recommended
Edit the generated SQL job (never tested and not supported), here you can specify weekdays.
Good approach but (very) long term
Submit a connect suggestion.
Recommended but needs development
Develop an application that consume the Reporting Services webservice and has a tailored subscription mechanism.
You could consider doing step 2 & 3.
a subscription on the first day of the month is pretty easy. Whether data driven or static the schedule you set up can be set to run on the first day of every month.
For the last day of every month, you'll need to create 3 subscriptions. One subscription for September, April, June and November (on calendar day(s) = 30), one for all the rest (on calendar day(s) = 31), and one for February alone (on calendar day(s) = 28).
Leap years.... you're on your own there...

sharepoint 2010 - How to force expiration policy to run everyday for all items on a list

Have on prem SharePoint 2010, setup expiration policy to run every day that triggers a workflow to create tasks and emails based on an alert day in a calculated column in the list. Calculated columns have dates set to 7 days prior to a due date event. Want the expiration policy to evaluate the entire list each day to create notification emails and tasks to the users of the list.
I have been successful in getting the policy to run the workflow every day, but it starts randomly within the window specified. My assumptions: workflow will not run against an item on the list if the “Expiration Date” in less than 24 hours, I cannot modify that column directly, tightening the run window does not force all items to be evaluated every day. Solution needs be done using designer or sharepoint, not custom code.
Does anyone have a workaround to force all items to be evaluated by the “Expiration Policy” every day?
On another issue, how to you force evaluation for items created under 24 hours?
In SP 2010 there are two timer jobs responsible for this task: "Information management policy" job and "Expiration policy". This blog post may give you some more insight. There is also one more important thing: Information management policy should run before Expiration policy.

Give me a logic how to run a specific code for the background when the selected time is met

I'm making a program for a hotel management where a user input a
check-in date and check-out date If the client stays beyond this time,
he is charged for another day.
my main problem here is that how can i execute my code that not needed to push a button.
my idea is use a timer and set a time interval every hour so that it checks
the database if the system time and check-out time is met. any ideas?