unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Running processing functions in background
@ 2020-11-19 11:53 Jean Louis
  2020-11-22 14:06 ` Michael Heerdegen
  0 siblings, 1 reply; 5+ messages in thread
From: Jean Louis @ 2020-11-19 11:53 UTC (permalink / raw)
  To: Help GNU Emacs

I have some functions that are blocking Emacs interface
while they are processing database in background. Functions
are not interactive. Output goes to dedicated buffer for
later human review. And I prefer not to use external async
package.

I would like to have responsive Emacs while running and the
background function I think to intertwine with
`run-with-idle-timer' as function is sending emails to the
mailing list and there is no rush in doing so.

The `make-thread' did work well but interface remain not so
responsive, it slows down.

Is there some other approach when using only Emacs built-in
functions?




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Running processing functions in background
  2020-11-19 11:53 Running processing functions in background Jean Louis
@ 2020-11-22 14:06 ` Michael Heerdegen
  2020-11-22 14:23   ` Jean Louis
                     ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Michael Heerdegen @ 2020-11-22 14:06 UTC (permalink / raw)
  To: Jean Louis; +Cc: Help GNU Emacs

Jean Louis <bugs@gnu.support> writes:

> I have some functions that are blocking Emacs interface
> while they are processing database in background. Functions
> are not interactive. Output goes to dedicated buffer for
> later human review. And I prefer not to use external async
> package.
>
> I would like to have responsive Emacs while running and the
> background function I think to intertwine with
> `run-with-idle-timer' as function is sending emails to the
> mailing list and there is no rush in doing so.
>
> The `make-thread' did work well but interface remain not so
> responsive, it slows down.

Is that work a bug report?  Why does that happen?

> Is there some other approach when using only Emacs built-in
> functions?

The only alternative I know are generators and streams; they can be used
together with `while-no-input' or `throw-on-input' to implement
interruptable calculations if you write your program in an appropriate
style, but in my experience it is quite a fiddle.

emacs-async is not so bad if it's suitable for ones use case.

Michael.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Running processing functions in background
  2020-11-22 14:06 ` Michael Heerdegen
@ 2020-11-22 14:23   ` Jean Louis
  2020-11-25 14:20   ` Michael Heerdegen
  2020-12-03  9:08   ` Jean Louis
  2 siblings, 0 replies; 5+ messages in thread
From: Jean Louis @ 2020-11-22 14:23 UTC (permalink / raw)
  To: Michael Heerdegen; +Cc: Help GNU Emacs

* Michael Heerdegen <michael_heerdegen@web.de> [2020-11-22 17:07]:
> Jean Louis <bugs@gnu.support> writes:
> 
> > I have some functions that are blocking Emacs interface
> > while they are processing database in background. Functions
> > are not interactive. Output goes to dedicated buffer for
> > later human review. And I prefer not to use external async
> > package.
> >
> > I would like to have responsive Emacs while running and the
> > background function I think to intertwine with
> > `run-with-idle-timer' as function is sending emails to the
> > mailing list and there is no rush in doing so.
> >
> > The `make-thread' did work well but interface remain not so
> > responsive, it slows down.
> 
> Is that work a bug report?  Why does that happen?
> 
> > Is there some other approach when using only Emacs built-in
> > functions?
> 
> The only alternative I know are generators and streams; they can be used
> together with `while-no-input' or `throw-on-input' to implement
> interruptable calculations if you write your program in an appropriate
> style, but in my experience it is quite a fiddle.
> 
> emacs-async is not so bad if it's suitable for ones use case.

Thank you for references.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Running processing functions in background
  2020-11-22 14:06 ` Michael Heerdegen
  2020-11-22 14:23   ` Jean Louis
@ 2020-11-25 14:20   ` Michael Heerdegen
  2020-12-03  9:08   ` Jean Louis
  2 siblings, 0 replies; 5+ messages in thread
From: Michael Heerdegen @ 2020-11-25 14:20 UTC (permalink / raw)
  To: Jean Louis; +Cc: Help GNU Emacs

Michael Heerdegen <michael_heerdegen@web.de> writes:

> > The `make-thread' did work well but interface remain not so
> > responsive, it slows down.
>
> Is that work a bug report?  Why does that happen?
          ^^^^

I meant to ask "Is that worth a bug report?".  Sorry for the
typo.

Regards,

Michael.




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Running processing functions in background
  2020-11-22 14:06 ` Michael Heerdegen
  2020-11-22 14:23   ` Jean Louis
  2020-11-25 14:20   ` Michael Heerdegen
@ 2020-12-03  9:08   ` Jean Louis
  2 siblings, 0 replies; 5+ messages in thread
From: Jean Louis @ 2020-12-03  9:08 UTC (permalink / raw)
  To: Michael Heerdegen; +Cc: Help GNU Emacs

* Michael Heerdegen <michael_heerdegen@web.de> [2020-11-22 17:07]:
> Jean Louis <bugs@gnu.support> writes:
> 
> > I have some functions that are blocking Emacs interface
> > while they are processing database in background. Functions
> > are not interactive. Output goes to dedicated buffer for
> > later human review. And I prefer not to use external async
> > package.
> >
> > I would like to have responsive Emacs while running and the
> > background function I think to intertwine with
> > `run-with-idle-timer' as function is sending emails to the
> > mailing list and there is no rush in doing so.
> >
> > The `make-thread' did work well but interface remain not so
> > responsive, it slows down.
> 
> Is that work a bug report?  Why does that happen?
> 
> > Is there some other approach when using only Emacs built-in
> > functions?
> 
> The only alternative I know are generators and streams; they can be used
> together with `while-no-input' or `throw-on-input' to implement
> interruptable calculations if you write your program in an appropriate
> style, but in my experience it is quite a fiddle.
> 
> emacs-async is not so bad if it's suitable for ones use case.

Thank you for that.

I could make something so that mailing list is sent from Emacs with
(run-with-idle-timer SECS REPEAT FUNCTION &rest ARGS) and that not
many emails are sent, for example 5 instead 500 at once.



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-12-03  9:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-19 11:53 Running processing functions in background Jean Louis
2020-11-22 14:06 ` Michael Heerdegen
2020-11-22 14:23   ` Jean Louis
2020-11-25 14:20   ` Michael Heerdegen
2020-12-03  9:08   ` Jean Louis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).