@@ -272,14 +272,30 @@ defined by PHP datetime functions::
272272 RecurringMessage::every('3 weeks', new Message()); 
273273 RecurringMessage::every('first Monday of next month', new Message()); 
274274
275-  $from = new \DateTimeImmutable('13:47', new \DateTimeZone('Europe/Paris')); 
276-  $until = '2023-06-12'; 
277-  RecurringMessage::every('first Monday of next month', new Message(), $from, $until); 
278- 
279275.. tip ::
280276
281277 You can also define periodic tasks using :ref: `the AsPeriodicTask attribute  <scheduler-attributes-periodic-task >`.
282278
279+ You can also define ``from `` and ``until `` times for your schedule::
280+ 
281+  // create a message every day at 13:00 
282+  $from = new \DateTimeImmutable('13:00', new \DateTimeZone('Europe/Paris')); 
283+  RecurringMessage::every('1 day', new Message(), $from); 
284+ 
285+  // create a message every day until a specific date:: 
286+  $until = '2023-06-12'; 
287+  RecurringMessage::every('1 day', new Message(), null, $until); 
288+ 
289+  // combine from and until for more precise control 
290+  $from = new \DateTimeImmutable('2023-01-01 13:47', new \DateTimeZone('Europe/Paris')); 
291+  $until = '2023-06-12'; 
292+  RecurringMessage::every('first Monday of next month', new Message(), $from, $until); 
293+ 
294+ When starting the scheduler, the message isn't sent to the messenger immediately.
295+ If you don't set a ``from `` parameter, the first frequency period starts from the
296+ moment the scheduler runs. For example, if you start it at 8:33 and the message
297+ is scheduled hourly, it will run at 9:33, 10:33, 11:33, etc.
298+ 
283299Custom Triggers
284300~~~~~~~~~~~~~~~ 
285301
0 commit comments