Hi, I'm writing an S3 output plugin for heka. As I am new to golang and
heka, I'm not too sure what's the best way to go about writing the plugin.
Hence I wish to seek you guys' help to resolve some issues that are
plaguing my code.

heka-s3 plugin code: https://github.com/uohzxela/heka-s3/blob/master/s3.go

My plugin needs to send message packs from the pipeline at regular
intervals as specified in the .toml file. It writes to a buffer during each
interval and upload to a S3 bucket at the next tick. The interval is
specified by the 'ticker_interval' option. However, I'm not too sure
whether you need to take care of the ticker logic in the for loop or that
the output Run function will be invoked at the specified ticker interval by
Heka service itself.

I have implemented the first case as seen in my code and it led to a weird
issue. The plugin can be loaded upon starting the Heka service, however the
ticker can only run once after the elapsed time interval. It's only after I
sent a TERM signal to the Heka process using kill (kill <heka-pid>), that
the ticker starts to work.

Could you guys shed light on resolving this issue? Why does the ticker not
work upon starting the plugin? Does the programmer have to take care of the
ticker logic or the output runner will automatically be invoked at regular
intervals by the Heka service? I'd appreciate it as well if you can point
me to some output plugins that have the ticker functionality.

Thank you.

-- 
Alex
_______________________________________________
Heka mailing list
Heka@mozilla.org
https://mail.mozilla.org/listinfo/heka

Reply via email to